47 lines
988 B
TypeScript
47 lines
988 B
TypeScript
|
|
|
|
/**
|
|
* Overall state of the player's controls
|
|
*/
|
|
export class PlayerControlState {
|
|
/**
|
|
* State of the room tool
|
|
*/
|
|
roomTool: RoomToolState = new RoomToolState()
|
|
|
|
}
|
|
|
|
/**
|
|
* State for the room tool
|
|
*/
|
|
export class RoomToolState {
|
|
/**
|
|
* The currently selected functionality of the room tool
|
|
*/
|
|
currentState: 'SelectRoom' | 'ShowRoom' | 'SelectFurniture' | 'ShowFurniture' | 'DetectRoom' = 'SelectRoom'
|
|
|
|
/**
|
|
* Updates the state of the room tool
|
|
* @param value The new value
|
|
*/
|
|
updateState(value: 'SelectRoom' | 'ShowRoom' | 'SelectFurniture' | 'ShowFurniture' | 'DetectRoom'){
|
|
this.currentState = value
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Overall state for the client player
|
|
*/
|
|
export interface ClientPlayer {
|
|
/**
|
|
* State of controls for the player
|
|
*/
|
|
controlState: PlayerControlState,
|
|
}
|
|
|
|
/**
|
|
* Actual player control state
|
|
*/
|
|
export const defaultPlayerState: ClientPlayer = {
|
|
controlState: new PlayerControlState()
|
|
} |