/* 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