Jelajahi Sumber

有限空间

XuZinan 2 tahun lalu
induk
melakukan
eb2cc3985f

+ 2 - 8
src/Project/Functions/FuncMain.ts

@@ -2,7 +2,6 @@ import Func from '@/Engine/ECS/Function';
 import LoginHandle from './Handlers/LoginHandler';
 import PlatformMenuHandle from './Handlers/PlatformMenuHandle';
 import DataMeterHandle from './Handlers/DataMeterHandler';
-import { FuncPageMenuState } from './LevelAFunctions/FuncPageMenu';
 import ProjectMenuHandle from './Handlers/ProjectMenuHandle';
 export enum FuncMainState {
   Login, // 登录页
@@ -38,14 +37,9 @@ export default class FuncMain extends Func<FuncMainState> {
       );
       sm.addState(
         FuncMainState.PageMenu,
-        () => {
-          window.GT_APP.funcPageMenu.setActive(true);
-          window.GT_APP.funcPageMenu.changeState(
-            FuncPageMenuState.ProjectDetail,
-          );
-        },
-        null,
+        () => window.GT_APP.funcPageMenu.setActive(true),
         null,
+        () => window.GT_APP.funcPageMenu.setActive(false),
       );
     });
   }

+ 0 - 52
src/Project/Functions/LevelAFunctions/FuncLimitedSpace.ts

@@ -1,52 +0,0 @@
-import Func from '@/Engine/ECS/Function';
-import { PAGE_KEY } from '@/Project/constants';
-
-export enum FuncLimitedSpaceState {
-  idle,
-  index,
-  data
-}
-
-export default class FuncLimitedSpace extends Func<FuncLimitedSpaceState> {
-  constructor(name: string) {
-    super(name);
-    super.initStates((sm) => {
-      sm.addState(
-        FuncLimitedSpaceState.idle,
-        this.onIdleStateIn,
-        null,
-        this.onIdleStateExit,
-      );
-      sm.addState(
-        FuncLimitedSpaceState.index,
-        this.onIndexStateIn,
-        null,
-        this.onIndexStateExit,
-      );
-      sm.addState(
-        FuncLimitedSpaceState.data,
-        this.onIndexStateIn,
-        null,
-        this.onIndexStateExit,
-      );
-    });
-  }
-  onIdleStateIn(): void {
-    window.GT_APP.funcLimitedSpace.changeState(FuncLimitedSpaceState.index)
-    // window.GT_APP.funcLimitedSpace.changeState(FuncLimitedSpaceState.data)
-  }
-  onIdleStateExit(): void {
-  }
-  onIndexStateIn(): void {
-    window.GT_APP.sysPage.add(PAGE_KEY.LimitedIndex)
-  }
-  onIndexStateExit(): void {
-    window.GT_APP.sysPage.removeByKey(PAGE_KEY.LimitedIndex)
-  }
-  onDataStateIn(): void {
-    window.GT_APP.sysPage.add(PAGE_KEY.LimitedData)
-  }
-  onDataStateExit(): void {
-    window.GT_APP.sysPage.removeByKey(PAGE_KEY.LimitedData)
-  }
-}

+ 35 - 5
src/Project/Functions/LevelAFunctions/FuncPageMenu.ts

@@ -1,7 +1,9 @@
 import Func from '@/Engine/ECS/Function';
 import FuncProjectDetail from '@/Project/Functions/LevelBFunctions/FuncProjectDetail';
+import FuncLimitedSpace from '../LevelBFunctions/FuncLimitedSpace';
 
 export enum FuncPageMenuState {
+  Idle, // 空页面
   Menu, // 菜单栏页面
   DataMeter, // 驾驶舱
   DataCenterBuild, // 数据中心-建设
@@ -16,18 +18,39 @@ export enum FuncPageMenuState {
 }
 
 export default class FuncPageMenu extends Func<FuncPageMenuState> {
-
   private funcProjectDetail: FuncProjectDetail;
+  funcLimitedSpace: FuncLimitedSpace;
   constructor(name: string) {
     super(name);
     this.openLog = true;
-    this.funcProjectDetail = new FuncProjectDetail("FuncProjectDetail");
+    this.funcProjectDetail = new FuncProjectDetail('FuncProjectDetail');
+    this.funcLimitedSpace = new FuncLimitedSpace('FuncLimitedSpace');
     super.initStates((sm) => {
-      // sm.addState(FuncMainState.Login, new LoginHandle());
-      sm.addState(FuncPageMenuState.ProjectDetail, this.onProjectDetailStateIn.bind(this), null, this.onProjectDetailStateOut.bind(this))
+      sm.addState(
+        FuncPageMenuState.Idle,
+        this.onIdleStateIn.bind(this),
+        null,
+        this.onIdleStateOut.bind(this),
+      );
+      sm.addState(
+        FuncPageMenuState.ProjectDetail,
+        this.onProjectDetailStateIn.bind(this),
+        null,
+        this.onProjectDetailStateOut.bind(this),
+      );
+      sm.addState(
+        FuncPageMenuState.LimitedSpace,
+        this.onLimitedSpaceStateIn.bind(this),
+        null,
+        this.onLimitedSpaceStateOut.bind(this),
+      );
     });
   }
 
+  onIdleStateIn(): void {}
+
+  onIdleStateOut(): void {}
+
   onProjectDetailStateIn(): void {
     this.funcProjectDetail.setActive(true);
   }
@@ -35,5 +58,12 @@ export default class FuncPageMenu extends Func<FuncPageMenuState> {
   onProjectDetailStateOut(): void {
     this.funcProjectDetail.setActive(false);
   }
-}
 
+  onLimitedSpaceStateIn(): void {
+    this.funcLimitedSpace.setActive(true);
+  }
+
+  onLimitedSpaceStateOut(): void {
+    this.funcLimitedSpace.setActive(false);
+  }
+}

+ 6 - 0
src/Project/Functions/LevelAFunctions/FuncProjectMenu.tsx

@@ -1,6 +1,7 @@
 import Func from '@/Engine/ECS/Function';
 import { PAGE_KEY } from '@/Project/constants';
 import { FuncMainState } from '../FuncMain';
+import { FuncPageMenuState } from './FuncPageMenu';
 export enum FuncProjectMenuState {
   ProjectMenu,
 }
@@ -34,6 +35,11 @@ export default class FuncProjectMenu extends Func<FuncProjectMenuState> {
     switch (menu.UnityPath) {
       case '1':
         app.funcMain.changeState(FuncMainState.PageMenu);
+        app.funcPageMenu.changeState(FuncPageMenuState.ProjectDetail);
+        break;
+      case '11':
+        app.funcMain.changeState(FuncMainState.PageMenu);
+        app.funcPageMenu.changeState(FuncPageMenuState.LimitedSpace);
         break;
     }
   }

+ 106 - 0
src/Project/Functions/LevelBFunctions/FuncLimitedSpace.ts

@@ -0,0 +1,106 @@
+import Func from '@/Engine/ECS/Function';
+import { PAGE_KEY } from '@/Project/constants';
+
+export enum FuncLimitedSpaceState {
+  Idle,
+  Index, //总览
+  List, //台账
+  Detail, //详情
+  Data, //监测
+  Operation, //作业
+  Save, //救援
+}
+
+export default class FuncLimitedSpace extends Func<FuncLimitedSpaceState> {
+  constructor(name: string) {
+    super(name);
+    super.initStates((sm) => {
+      sm.addState(
+        FuncLimitedSpaceState.Idle,
+        this.onIdleStateIn,
+        null,
+        this.onIdleStateExit,
+      );
+      sm.addState(
+        FuncLimitedSpaceState.Index,
+        this.onIndexStateIn,
+        null,
+        this.onIndexStateExit,
+      );
+      sm.addState(
+        FuncLimitedSpaceState.List,
+        this.onListStateIn,
+        null,
+        this.onListStateExit,
+      );
+      sm.addState(
+        FuncLimitedSpaceState.Detail,
+        this.onDetailStateIn,
+        null,
+        this.onDetailStateExit,
+      );
+      sm.addState(
+        FuncLimitedSpaceState.Data,
+        this.onIndexStateIn,
+        null,
+        this.onIndexStateExit,
+      );
+      sm.addState(
+        FuncLimitedSpaceState.Operation,
+        this.onOperationStateIn,
+        null,
+        this.onOperationStateExit,
+      );
+      sm.addState(
+        FuncLimitedSpaceState.Save,
+        this.onSaveStateIn,
+        null,
+        this.onSaveStateExit,
+      );
+    });
+  }
+  onIdleStateIn(): void {}
+  onIdleStateExit(): void {}
+  //空间总览
+  onIndexStateIn(): void {
+    window.GT_APP.sysPage.add(PAGE_KEY.SpaceIndex);
+  }
+  onIndexStateExit(): void {
+    window.GT_APP.sysPage.removeByKey(PAGE_KEY.SpaceIndex);
+  }
+  //空间台账
+  onListStateIn(): void {
+    window.GT_APP.sysPage.add(PAGE_KEY.SpaceList);
+  }
+  onListStateExit(): void {
+    window.GT_APP.sysPage.removeByKey(PAGE_KEY.SpaceList);
+  }
+  //空间详情
+  onDetailStateIn(): void {
+    window.GT_APP.sysPage.add(PAGE_KEY.SpaceDetail);
+  }
+  onDetailStateExit(): void {
+    window.GT_APP.sysPage.removeByKey(PAGE_KEY.SpaceDetail);
+  }
+  //空间监测
+  onDataStateIn(): void {
+    window.GT_APP.sysPage.add(PAGE_KEY.SpaceData);
+  }
+  onDataStateExit(): void {
+    window.GT_APP.sysPage.removeByKey(PAGE_KEY.SpaceData);
+  }
+  //空间作业
+  onOperationStateIn(): void {
+    window.GT_APP.sysPage.add(PAGE_KEY.SpaceOperate);
+  }
+  onOperationStateExit(): void {
+    window.GT_APP.sysPage.removeByKey(PAGE_KEY.SpaceOperate);
+  }
+  //空间救援
+  onSaveStateIn(): void {
+    window.GT_APP.sysPage.add(PAGE_KEY.SpaceSave);
+  }
+  onSaveStateExit(): void {
+    window.GT_APP.sysPage.removeByKey(PAGE_KEY.SpaceSave);
+  }
+}

+ 7 - 2
src/Project/Functions/LevelBFunctions/FuncProjectDetail.ts

@@ -8,7 +8,12 @@ export default class FuncProjectDetail extends Func<FuncProjectDetailState> {
   constructor(name: string) {
     super(name);
     super.initStates((sm) => {
-      sm.addState(FuncProjectDetailState.Idle, this.onIdleStateIn, null, this.onIdleStateExit);
+      sm.addState(
+        FuncProjectDetailState.Idle,
+        this.onIdleStateIn,
+        null,
+        this.onIdleStateExit,
+      );
     });
   }
   onIdleStateIn(): void {
@@ -17,4 +22,4 @@ export default class FuncProjectDetail extends Func<FuncProjectDetailState> {
   onIdleStateExit(): void {
     window.GT_APP.sysPage.removeByKey(PAGE_KEY.ProjectDetail);
   }
-}
+}

+ 8 - 0
src/Project/constants/index.ts

@@ -8,6 +8,14 @@ export enum PAGE_KEY {
   Map, // 全局驾驶舱
   DataMeter, // 项目驾驶舱
   ProjectDetail,//项目详情
+
+  //有限空间
+  SpaceIndex, //空间总览
+  SpaceList, //空间台账
+  SpaceDetail, //空间详情
+  SpaceData, //空间监测
+  SpaceOperate, //空间作业
+  SpaceSave, //空间救援
 }
 
 export const ProjectStatus = [