57 lines
No EOL
1 KiB
TypeScript
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 |