UI_Task.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { _decorator, Component, Node } from 'cc';
  2. import ui_base from '../../../core/ui/ui_base';
  3. import { Layout_Task } from './Layout_Task';
  4. import { GameUILayers, gui } from '../../../core/ui/ui';
  5. import { ModuleDef } from '../../../Scripts/ModuleDef';
  6. import { Hall } from '../../hall/Hall';
  7. import { ani_ui } from '../UI_Main/UI_Main';
  8. import { table_task } from '../../../module_extra/table_ts/table_task';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('UI_Task')
  11. export class UI_Task extends ui_base{
  12. task_state:any;
  13. config:any;
  14. constructor(){
  15. super(ModuleDef.GAME, 'ui/UI_Task/Task', GameUILayers.HUD, Layout_Task);
  16. }
  17. protected async onCreated() {
  18. this.config = table_task.getList();
  19. const layout = this.getLayout<Layout_Task>();
  20. ani_ui(layout.Close_Btn.node.parent);
  21. this.onButtonEvent(layout.Close_Btn,()=>{
  22. gui.close(UI_Task);
  23. });
  24. this.task_state = Hall.getInstance().player.get_task_state();
  25. console.log("任务数组:"+this.task_state);
  26. for(let i=0;i<layout.Task_Items.length;i++)
  27. {
  28. layout.Task_Items[i].show(this.task_state[i],this.config[i]);
  29. }
  30. }
  31. //更新task_state并保存
  32. public async update_task_state(flag:boolean,target:number)
  33. {
  34. this.task_state[target]=flag;
  35. Hall.getInstance().player.set_task_state(this.task_state);
  36. Hall.getInstance().player.setDirty();
  37. }
  38. }