FuncLimitedSpace.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import Func from '@/Engine/ECS/Function';
  2. import SysPage from '@/Frameworks/SysPage';
  3. import { STORAGE_TYPE, LocalService } from '@/Frameworks/SysStorage';
  4. import { PAGE_KEY } from '@/Project/constants';
  5. import { FuncMainState } from '../FuncMain';
  6. export enum FuncLimitedSpaceState {
  7. idle,
  8. index,
  9. data
  10. }
  11. export default class FuncLimitedSpace extends Func<FuncLimitedSpaceState> {
  12. constructor(name: string) {
  13. super(name);
  14. super.initStates((sm) => {
  15. sm.addState(
  16. FuncLimitedSpaceState.idle,
  17. this.onIdleStateIn,
  18. null,
  19. this.onIdleStateExit,
  20. );
  21. sm.addState(
  22. FuncLimitedSpaceState.index,
  23. this.onIndexStateIn,
  24. null,
  25. this.onIndexStateExit,
  26. );
  27. sm.addState(
  28. FuncLimitedSpaceState.data,
  29. this.onIndexStateIn,
  30. null,
  31. this.onIndexStateExit,
  32. );
  33. });
  34. }
  35. onIdleStateIn(): void {
  36. window.GT_APP.funcLimitedSpace.changeState(FuncLimitedSpaceState.index)
  37. // window.GT_APP.funcLimitedSpace.changeState(FuncLimitedSpaceState.data)
  38. }
  39. onIdleStateExit(): void {
  40. }
  41. onIndexStateIn(): void {
  42. SysPage.add(PAGE_KEY.LimitedIndex)
  43. }
  44. onIndexStateExit(): void {
  45. SysPage.removeByKey(PAGE_KEY.LimitedIndex)
  46. }
  47. onDataStateIn(): void {
  48. SysPage.add(PAGE_KEY.LimitedData)
  49. }
  50. onDataStateExit(): void {
  51. SysPage.removeByKey(PAGE_KEY.LimitedData)
  52. }
  53. }