ui_top.ts 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import { _decorator, Component, Node, Size, UITransform, Vec3 } from 'cc';
  2. import { config } from '../../config';
  3. import { att_top_data, ui_att_item } from '../../../data/data';
  4. import { view_not_have_interact } from './view_not_have_interact';
  5. import { view_ui_att_item } from './view_ui_att_item';
  6. import { view_interact_input } from './view_interact_input';
  7. import { view_interact_page } from './view_interact_page';
  8. import { view_interact_puzzle } from './view_interact_puzzle';
  9. import { view_pointer_ding_wei } from './view_pointer_ding_wei';
  10. import { view_wei_chi_pointer } from './view_wei_chi_pointer';
  11. import { view_interact_scene } from './view_interact_scene';
  12. import { view_boss_info } from './view_boss_info';
  13. const { ccclass, property } = _decorator;
  14. @ccclass('ui_top')
  15. export class ui_top extends Component {
  16. @property(Node) interact_page:Node = null;
  17. @property(Node) interact_input:Node = null;
  18. @property(Node) interact_puzzle:Node = null;
  19. @property(Node) wei_chi_pointer:Node = null;
  20. @property(Node) pointer_ding_wei:Node = null;
  21. @property(Node) interact_scene:Node = null;
  22. @property(Node) not_have_interact:Node = null;
  23. @property(Node) boss_info:Node = null;
  24. @property(Node) btn_close:Node = null;
  25. @property(Node) btn_jump:Node = null;
  26. private view_map:Map<number,Node> = new Map;
  27. private m_data:att_top_data = null;
  28. public initView(data:att_top_data){
  29. this.m_data = data;
  30. this.view_map.set(config.top_view_type.interact_page,this.interact_page)
  31. this.view_map.set(config.top_view_type.interact_input,this.interact_input)
  32. this.view_map.set(config.top_view_type.interact_puzzle,this.interact_puzzle)
  33. this.view_map.set(config.top_view_type.wei_chi_pointer,this.wei_chi_pointer)
  34. this.view_map.set(config.top_view_type.pointer_ding_wei,this.pointer_ding_wei)
  35. this.view_map.set(config.top_view_type.interact_scene,this.interact_scene)
  36. this.view_map.set(config.top_view_type.not_have_interact,this.not_have_interact)
  37. this.view_map.set(config.top_view_type.boss_info,this.boss_info)
  38. this.updateStatus()
  39. }
  40. updateStatus(){
  41. this.hideAllTop()
  42. this.m_data.close_info = this.m_data.close_info?this.m_data.close_info:this.btn_close.getComponent(view_ui_att_item).getData();
  43. this.btn_close.getComponent(view_ui_att_item).updateAtt(this.m_data.close_info )
  44. this.m_data.jump_info = this.m_data.jump_info?this.m_data.jump_info:this.btn_jump.getComponent(view_ui_att_item).getData();
  45. this.btn_jump.getComponent(view_ui_att_item).updateAtt(this.m_data.jump_info )
  46. if(this.m_data.top_ui_type!=config.top_view_type.__null){
  47. this.view_map.get(this.m_data.top_ui_type).active = true;
  48. }
  49. this.btn_jump.active = this.m_data.is_open_jump;
  50. this.btn_close.active = this.m_data.is_open_close;
  51. this.showViewByType()
  52. }
  53. public changeData(data:att_top_data){
  54. this.m_data = data;
  55. this.updateStatus()
  56. }
  57. showViewByType(){
  58. switch (this.m_data.top_ui_type) {
  59. case config.top_view_type.not_have_interact:
  60. this.view_map.get(this.m_data.top_ui_type).getComponent(view_not_have_interact).updateView(this.m_data._not_have_interact_data)
  61. this.m_data._not_have_interact_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_not_have_interact).getData()
  62. break;
  63. case config.top_view_type.interact_input:
  64. this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_input).updateView(this.m_data._interact_input_data)
  65. this.m_data._interact_input_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_input).getData()
  66. break;
  67. case config.top_view_type.interact_page:
  68. this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_page).updateView(this.m_data._interact_page_data)
  69. this.m_data._interact_page_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_page).getData()
  70. break;
  71. case config.top_view_type.interact_puzzle:
  72. this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_puzzle).updateView(this.m_data._interact_puzzle_data)
  73. this.m_data._interact_puzzle_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_puzzle).getData()
  74. break;
  75. case config.top_view_type.pointer_ding_wei:
  76. this.view_map.get(this.m_data.top_ui_type).getComponent(view_pointer_ding_wei).updateView(this.m_data._pointer_ding_wei_data)
  77. this.m_data._pointer_ding_wei_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_pointer_ding_wei).getData()
  78. break;
  79. case config.top_view_type.wei_chi_pointer:
  80. this.view_map.get(this.m_data.top_ui_type).getComponent(view_wei_chi_pointer).updateView(this.m_data._wei_chi_pointer_data)
  81. this.m_data._wei_chi_pointer_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_wei_chi_pointer).getData()
  82. break;
  83. case config.top_view_type.interact_scene:
  84. this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_scene).updateView(this.m_data._interact_scene_data)
  85. this.m_data._interact_scene_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_interact_scene).getData()
  86. break;
  87. case config.top_view_type.boss_info:
  88. this.view_map.get(this.m_data.top_ui_type).getComponent(view_boss_info).updateView(this.m_data._boss_info_data)
  89. this.m_data._boss_info_data = this.view_map.get(this.m_data.top_ui_type).getComponent(view_boss_info).getData()
  90. break;
  91. }
  92. }
  93. hideAllTop(){
  94. this.view_map.forEach((v,k)=>{
  95. v.active = false;
  96. })
  97. }
  98. }