123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import { _decorator, Component, EditBox, instantiate, Label, Node, Prefab, Toggle } from 'cc';
- import { att_slide_data, other_widget_finish_listen_item } from '../../../data/data';
- import { config } from '../../config';
- import { tools } from '../../tools';
- import { other_widget_finish_item } from './other_widget_finish_item';
- const { ccclass, property } = _decorator;
- @ccclass('attributes_slide')
- export class attributes_slide extends Component {
- @property(Node) btn_slide_dir:Node = null;
- @property(Node) lab_slide_dir:Node = null;
- @property(Node) btn_slide_distance:Node = null;
- @property(Node) btn_slide_num:Node = null;
- @property(Node) btn_finish_event:Node = null;
- @property(EditBox) slide_num_edit:EditBox = null;
- @property(EditBox) slide_distance_edit:EditBox = null;
- @property(Node) btn_add_listen_other_widget_finish_event:Node = null;
- @property(Prefab) other_widget_finish_item:Prefab = null;
- @property(Node) other_widget_finish_content:Node = null;
- @property(Toggle) toggle_is_direct_execute_myself:Toggle = null;
- @property(Toggle) toggle_is_select_anyone_execute_myself:Toggle = null;
- private call_back = null;
- private m_data:att_slide_data = null;
-
- public initView(call){
- this.call_back = call;
- this.btn_slide_dir.on(Node.EventType.TOUCH_END,()=>{
- tools.show_slide_dir_select((dir:number)=>{
- if(this.m_data.slide_dir!=dir){
- this.m_data.slide_dir = dir;
- this.change()
- }
- this.update_att(this.m_data)
- })
- })
- }
- public update_att(data:att_slide_data){
- this.m_data = data;
- this.slide_num_edit.string = data.slide_num.toString()
- this.slide_distance_edit.string = data.slide_distance.toString()
- this.lab_slide_dir.getComponent(Label).string = config.slide_type_map.get(data.slide_dir)
- this.other_widget_finish_content.removeAllChildren()
- if(this.m_data.other_widget_finish_listen_list==undefined){
- this.m_data.other_widget_finish_listen_list = []
- }
- for (let index = 0; index < this.m_data.other_widget_finish_listen_list.length; index++) {
- let item = instantiate(this.other_widget_finish_item)
- item.parent = this.other_widget_finish_content;
- let item_data = this.m_data.other_widget_finish_listen_list[index]
- item.getComponent(other_widget_finish_item).initView(item_data,this.onOtherWidgetFinishListenItemClickDelete.bind(this))
- }
-
- if(this.m_data.is_direct_execute_myself==undefined) {
- this.m_data.is_direct_execute_myself = false
- }
- if(this.m_data.is_select_anyone_execute_myself==undefined) {
- this.m_data.is_select_anyone_execute_myself = false
- }
- if(this.m_data.other_widget_finish_listen_list.length==0) {
- this.showOtherWidgetFinishListenToggle(false)
- } else {
- this.showOtherWidgetFinishListenToggle(true)
- }
- this.toggle_is_direct_execute_myself.isChecked = this.m_data.is_direct_execute_myself
- this.toggle_is_select_anyone_execute_myself.isChecked = this.m_data.is_select_anyone_execute_myself
- }
- protected start(): void {
- this.slide_num_edit.node.on('editing-did-ended', this.change, this);
- this.slide_distance_edit.node.on('editing-did-ended', this.change, this);
- this.btn_add_listen_other_widget_finish_event.on(Node.EventType.TOUCH_END,()=>{
- this.addOtherWidgetFinishListenItem()
- })
- this.toggle_is_direct_execute_myself.node.on('toggle', ()=>{
- this.m_data.is_direct_execute_myself = this.toggle_is_direct_execute_myself.isChecked
- })
- this.toggle_is_select_anyone_execute_myself.node.on('toggle', ()=>{
- this.m_data.is_select_anyone_execute_myself = this.toggle_is_select_anyone_execute_myself.isChecked
- })
- }
- addOtherWidgetFinishListenItem(){
- let item = instantiate(this.other_widget_finish_item)
- item.parent = this.other_widget_finish_content;
- let item_data = new other_widget_finish_listen_item;
- this.m_data.other_widget_finish_listen_list.push(item_data)
- item.getComponent(other_widget_finish_item).initView(this.m_data.other_widget_finish_listen_list[this.m_data.other_widget_finish_listen_list.length-1],this.onOtherWidgetFinishListenItemClickDelete.bind(this))
- if(this.m_data.other_widget_finish_listen_list.length>0) {
- this.showOtherWidgetFinishListenToggle(true)
- }
- this.change()
- }
- onOtherWidgetFinishListenItemClickDelete(data:other_widget_finish_listen_item){
- let index = this.m_data.other_widget_finish_listen_list.indexOf(data)
- this.m_data.other_widget_finish_listen_list.splice(index,1)
- if(this.m_data.other_widget_finish_listen_list.length<=0) {
- this.showOtherWidgetFinishListenToggle(false)
- this.toggle_is_direct_execute_myself.isChecked = this.m_data.is_direct_execute_myself
- this.toggle_is_select_anyone_execute_myself.isChecked = this.m_data.is_select_anyone_execute_myself
- }
- this.change()
- }
- change(){
- if(this.call_back!=null){
- this.call_back(this.m_data.slide_dir,parseInt(this.slide_num_edit.string),parseInt(this.slide_distance_edit.string))
- }
- }
- showOtherWidgetFinishListenToggle(is_show:boolean) {
- this.toggle_is_direct_execute_myself.node.active = is_show
- this.toggle_is_select_anyone_execute_myself.node.active = is_show
- if(is_show==false) {
- this.m_data.is_direct_execute_myself = is_show
- this.m_data.is_select_anyone_execute_myself = is_show
- }
- }
- }
|