UI_Task.ts 1.6 KB

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