goopler/src/ReplicatedStorage/ecs/state.ts
2023-08-11 17:38:07 -07:00

57 lines
No EOL
1 KiB
TypeScript

/* eslint-disable roblox-ts/no-private-identifier */
import { CharacterRigR6 } from "@rbxts/character-promise"
import { Logger } from "@rbxts/log"
import { InputKind } from "ReplicatedStorage/inputKind"
/**
* The client ECS state.
*/
export class clientState {
constructor(
player: Player,
character: CharacterRigR6,
debugEnabled: boolean,
isRunning: boolean,
backpack: Backpack,
// lastProcessedCommand: Inputkind,
logger: Logger
) {
this.character = character
this.player = player
this.debugEnabled = debugEnabled
this.isRunning = isRunning
this.backpack = backpack
// this.lastProcessedCommand = lastProcessedCommand
this.logger = logger
}
player: Player
character: CharacterRigR6
debugEnabled: boolean
isRunning: boolean
backpack: Backpack
lastProcessedCommand?: InputKind
logger: Logger
}
/**
* The server ECS state.
*/
export class serverState {
constructor(
logger: Logger
) {
this.logger = logger
}
logger: Logger
}
/**
* The shared ECS state.
*/
export type sharedState = serverState & clientState