att_res_set_view.ts 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import { _decorator, Component, Node } from 'cc';
  2. import { att_top_data } from '../../../data/data';
  3. import { config } from '../../config';
  4. import { res_not_have_interact } from './res_not_have_interact';
  5. import { res_interact_input } from './res_interact_input';
  6. import { res_interact_puzzle } from './res_interact_puzzle';
  7. import { res_interact_page } from './res_interact_page';
  8. import { res_pointer_ding_wei } from './res_pointer_ding_wei';
  9. import { res_wei_chi_pointer } from './res_wei_chi_pointer';
  10. import { res_boss_info } from './res_boss_info';
  11. const { ccclass, property } = _decorator;
  12. @ccclass('att_res_set_view')
  13. export class att_res_set_view extends Component {
  14. @property(Node) not_have_interact:Node = null;
  15. @property(Node) interact_input:Node = null;
  16. @property(Node) interact_page:Node = null;
  17. @property(Node) interact_puzzle:Node = null;
  18. @property(Node) interact_scene:Node = null;
  19. @property(Node) pointer_ding_wei:Node = null;
  20. @property(Node) wei_chi_pointer:Node = null;
  21. @property(Node) boss_info:Node = null;
  22. private m_data:att_top_data = null;
  23. private map_node:Map<number,Node> = new Map;
  24. init(): void {
  25. this.map_node.set(config.top_view_type.not_have_interact,this.not_have_interact)
  26. this.map_node.set(config.top_view_type.interact_input,this.interact_input)
  27. this.map_node.set(config.top_view_type.interact_page,this.interact_page)
  28. this.map_node.set(config.top_view_type.interact_puzzle,this.interact_puzzle)
  29. this.map_node.set(config.top_view_type.interact_scene,this.interact_scene)
  30. this.map_node.set(config.top_view_type.pointer_ding_wei,this.pointer_ding_wei)
  31. this.map_node.set(config.top_view_type.wei_chi_pointer,this.wei_chi_pointer)
  32. this.map_node.set(config.top_view_type.boss_info,this.boss_info)
  33. }
  34. hideAllNode(){
  35. this.map_node.forEach((v,k)=>{
  36. v.active = false;
  37. })
  38. }
  39. public updateStatus(data:att_top_data){
  40. this.m_data = data;
  41. this.hideAllNode()
  42. if(this.map_node.size<=0){
  43. this.init()
  44. }
  45. this.map_node.get(this.m_data.top_ui_type).active = true;
  46. switch (this.m_data.top_ui_type) {
  47. case config.top_view_type.not_have_interact:
  48. this.map_node.get(this.m_data.top_ui_type).getComponent(res_not_have_interact).initView(this.m_data._not_have_interact_data)
  49. break;
  50. case config.top_view_type.interact_input:
  51. this.map_node.get(this.m_data.top_ui_type).getComponent(res_interact_input).initView(this.m_data._interact_input_data)
  52. break;
  53. case config.top_view_type.interact_puzzle:
  54. this.map_node.get(this.m_data.top_ui_type).getComponent(res_interact_puzzle).initView(this.m_data._interact_puzzle_data)
  55. break;
  56. case config.top_view_type.interact_page:
  57. this.map_node.get(this.m_data.top_ui_type).getComponent(res_interact_page).initView(this.m_data._interact_page_data)
  58. break;
  59. case config.top_view_type.pointer_ding_wei:
  60. this.map_node.get(this.m_data.top_ui_type).getComponent(res_pointer_ding_wei).initView(this.m_data._pointer_ding_wei_data)
  61. break;
  62. case config.top_view_type.wei_chi_pointer:
  63. this.map_node.get(this.m_data.top_ui_type).getComponent(res_wei_chi_pointer).initView(this.m_data._wei_chi_pointer_data)
  64. break;
  65. case config.top_view_type.boss_info:
  66. this.map_node.get(this.m_data.top_ui_type).getComponent(res_boss_info).initView(this.m_data._boss_info_data)
  67. break;
  68. }
  69. }
  70. }