add_scene.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import { _decorator, Color, Component, EditBox, instantiate, Label, Node, Prefab, Toggle } from 'cc';
  2. import { config } from '../config';
  3. import { sceme_type_select_item } from '../sceme_type_select_item';
  4. import { scene_item_data } from '../../data/data';
  5. import { tools } from '../tools';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('add_scene')
  8. export class add_scene extends Component {
  9. @property(Node) btn_sure:Node = null;
  10. @property(Node) btn_cancel:Node = null;
  11. @property(EditBox) EditBox_Scene_Name:EditBox = null;
  12. @property(Node) btn_scene_template:Node = null;
  13. @property(Node) scene_template:Node = null;
  14. // @property(Node) btn_close_scene_type:Node = null;
  15. @property(Node) btn_close_scene_template:Node = null;
  16. @property(Prefab) sceme_type_select_item_prefab:Prefab = null;
  17. @property(Node) scene_template_content:Node = null;
  18. @property(Node) lab_danye:Node = null;
  19. @property(Node) lab_duoye_shangxia:Node = null;
  20. @property(Node) lab_duoye_zuoyou:Node = null;
  21. @property(Toggle) tg_child_scene:Toggle = null;
  22. private select_type:number = config.Scene_Type_List.single_screen;
  23. private def_select_scene_item_data:scene_item_data = new scene_item_data("",0);
  24. private m_call_back = null;
  25. public initView(call_back){
  26. this.m_call_back = call_back;
  27. this.btn_sure.on(Node.EventType.TOUCH_END,()=>{
  28. if(this.EditBox_Scene_Name.string.length<=0){
  29. return tools.showToast("请填写场景名字!")
  30. }
  31. this.def_select_scene_item_data.scene_diy_name = this.EditBox_Scene_Name.string
  32. this.def_select_scene_item_data.type = this.select_type
  33. this.def_select_scene_item_data.is_child_scene = this.tg_child_scene.isChecked
  34. if(this.m_call_back!=null){
  35. if( this.def_select_scene_item_data.is_child_scene){
  36. this.def_select_scene_item_data.scene_diy_name = `${this.def_select_scene_item_data.scene_diy_name}(子场景)`
  37. }
  38. this.m_call_back(this.def_select_scene_item_data)
  39. }
  40. this.close()
  41. })
  42. this.btn_cancel.on(Node.EventType.TOUCH_END,()=>{
  43. this.close()
  44. })
  45. this.btn_scene_template.on(Node.EventType.TOUCH_END,()=>{
  46. // this.scene_template.active = true;
  47. })
  48. this.btn_close_scene_template.on(Node.EventType.TOUCH_END,()=>{
  49. this.scene_template.active = false;
  50. })
  51. this.lab_danye.on(Node.EventType.TOUCH_END,()=>{
  52. this.select_type = config.Scene_Type_List.single_screen;
  53. this.updaetSelect()
  54. })
  55. this.lab_duoye_shangxia.on(Node.EventType.TOUCH_END,()=>{
  56. this.select_type = config.Scene_Type_List.many_screen_switch_up_down;
  57. this.updaetSelect()
  58. })
  59. this.lab_duoye_zuoyou.on(Node.EventType.TOUCH_END,()=>{
  60. this.select_type = config.Scene_Type_List.many_screen_switch_left_rigth;
  61. this.updaetSelect()
  62. })
  63. config.init()
  64. this.updaetSelect()
  65. // this.initSelectSceneTypes()
  66. }
  67. updaetSelect(){
  68. this.lab_danye.getComponent(Label).color = Color.BLACK
  69. this.lab_duoye_shangxia.getComponent(Label).color = Color.BLACK
  70. this.lab_duoye_zuoyou.getComponent(Label).color = Color.BLACK
  71. switch(this.select_type){
  72. case config.Scene_Type_List.single_screen:
  73. this.lab_danye.getComponent(Label).color = Color.RED
  74. break;
  75. case config.Scene_Type_List.many_screen_switch_up_down:
  76. this.lab_duoye_shangxia.getComponent(Label).color = Color.RED
  77. break;
  78. case config.Scene_Type_List.many_screen_switch_left_rigth:
  79. this.lab_duoye_zuoyou.getComponent(Label).color = Color.RED
  80. break;
  81. }
  82. }
  83. initSelectSceneTypes(){
  84. // this.scene_type_content.removeAllChildren()
  85. // config.SceneType.forEach((v,k)=>{
  86. // if(this.def_select_scene_item_data==null){
  87. // this.def_select_scene_item_data = v;
  88. // }
  89. // let item = instantiate(this.sceme_type_select_item_prefab)
  90. // item.parent = this.scene_type_content
  91. // item.getComponent(sceme_type_select_item).initView(v,this.onSelectSceneTypeItemClick.bind(this))
  92. // })
  93. // if(this.def_select_scene_item_data!=null){
  94. // this.lab_cur_select_scene_name.getComponent(Label).string = this.def_select_scene_item_data.name;
  95. // }
  96. }
  97. onSelectSceneTypeItemClick(item:sceme_type_select_item){
  98. // this.def_select_scene_item_data = item.getData()
  99. // this.lab_cur_select_scene_name.getComponent(Label).string = `${this.def_select_scene_item_data.name}${this.def_select_scene_item_data.is_check_mask?"-勾选遮罩":""}`;
  100. }
  101. close(){
  102. this.node.removeFromParent()
  103. }
  104. }