FuncProjectMenu.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import Func from '@/Engine/ECS/Function';
  2. import { PAGE_KEY } from '@/Project/constants';
  3. import { FuncMainState } from '../FuncMain';
  4. import { FuncPageMenuState } from './FuncPageMenu';
  5. export enum FuncProjectMenuState {
  6. ProjectMenu,
  7. }
  8. export default class FuncProjectMenu extends Func<FuncProjectMenuState> {
  9. constructor(name: string) {
  10. super(name);
  11. super.initStates((sm) => {
  12. sm.addState(
  13. FuncProjectMenuState.ProjectMenu,
  14. this.onStateIn,
  15. null,
  16. this.onStateExit,
  17. this,
  18. );
  19. });
  20. }
  21. onStateIn(): void {
  22. window.GT_APP.sysPage.add(PAGE_KEY.ProjectMenu, {
  23. clickMenu: this.clickMenu,
  24. subModule: window.GT_APP.funcMain.subModule,
  25. });
  26. }
  27. onStateExit(): void {
  28. window.GT_APP.sysPage.removeByKey(PAGE_KEY.ProjectMenu);
  29. }
  30. clickMenu(menu: Api.IMenu): void {
  31. console.log(menu);
  32. if (!menu.UnityPath) return;
  33. let app = window.GT_APP;
  34. switch (menu.UnityPath) {
  35. case '1':
  36. app.funcMain.changeState(FuncMainState.PageMenu);
  37. app.funcPageMenu.changeState(FuncPageMenuState.ProjectDetail);
  38. break;
  39. case '11':
  40. app.funcMain.changeState(FuncMainState.PageMenu);
  41. app.funcPageMenu.changeState(FuncPageMenuState.LimitedSpace);
  42. break;
  43. }
  44. }
  45. }