123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- import { _decorator, Component, EditBox, Label, Node, Toggle } from 'cc';
- import { event_item_switch_scene_event, scene_item_data } from '../../../data/data';
- import { config } from '../../config';
- import { main } from '../../main';
- import { tools } from '../../tools';
- const { ccclass, property } = _decorator;
- @ccclass('event_switch_scene_event')
- export class event_switch_scene_event extends Component {
- @property(Node) lab_name:Node = null;
- @property(Node) btn_select_page:Node = null;
- @property(Node) up_node:Node = null;
- @property(Node) down_node:Node = null;
- @property(Node) left_node:Node = null;
- @property(Node) right_node:Node = null;
- @property(Node) only_once_node:Node = null;
- @property(EditBox) edit_time:EditBox = null;
- private m_data:event_item_switch_scene_event = null;
- private m_scene_data:scene_item_data = null;
- public initView(data:event_item_switch_scene_event){
- this.m_data = data;
- this.m_scene_data = main.Singleton.getEditSceneView().getCurSelectScene()
- this.updateSceneStatus()
- this.updateLabStatus()
- this.updateDirectionNodeStatus()
- this.only_once_node.getComponent(Toggle).isChecked = this.m_data.executeOnlyOnce
- if(data.delay_time == undefined) {
- data.delay_time = 0
- }
- this.edit_time.string = data.delay_time.toString()
- }
- start() {
- this.btn_select_page.on(Node.EventType.TOUCH_END, ()=> {
- tools.show_select_more_scene_page(this.m_scene_data.page_list,this.m_data.binding_page_index,(index:number)=> {
- this.m_data.binding_page_index = index
- this.updateSceneStatus()
- this.updateLabStatus()
- })
- })
- this.up_node.on(Node.EventType.TOUCH_END, ()=> {
- this.change(config.switch_scene_page_direction.up)
- })
- this.down_node.on(Node.EventType.TOUCH_END,()=> {
- this.change(config.switch_scene_page_direction.down)
- })
- this.left_node.on(Node.EventType.TOUCH_END,()=> {
- this.change(config.switch_scene_page_direction.left)
- })
- this.right_node.on(Node.EventType.TOUCH_END,()=> {
- this.change(config.switch_scene_page_direction.right)
- })
- this.only_once_node.on('toggle', ()=>{
- this.m_data.executeOnlyOnce = this.only_once_node.getComponent(Toggle).isChecked
- })
- this.edit_time.node.on('editing-did-ended', ()=> {
- this.m_data.delay_time = parseFloat(this.edit_time.string)
- })
- }
- change(direction = config.switch_scene_page_direction.unknown) {
- if(this.m_data.direction == direction) {
- this.m_data.direction = config.switch_scene_page_direction.unknown
- return
- }
- this.m_data.direction = direction
- this.updateDirectionNodeStatus()
- }
- noCheckedAll() {
- this.up_node.getComponent(Toggle).isChecked = false
- this.down_node.getComponent(Toggle).isChecked = false
- this.left_node.getComponent(Toggle).isChecked = false
- this.right_node.getComponent(Toggle).isChecked = false
- }
- updateSceneStatus() {
- switch (this.m_scene_data.type) {
- case config.Scene_Type_List.many_screen_switch_up_down:
- this.up_node.active = true
- this.down_node.active = true
- this.left_node.active = false
- this.right_node.active = false
- if(this.m_data.binding_page_index == 0) {
- this.up_node.active = false
- if(this.m_data.direction==config.switch_scene_page_direction.up) {
- this.m_data.direction=config.switch_scene_page_direction.unknown
- this.up_node.getComponent(Toggle).isChecked = false
- }
- } else if(this.m_data.binding_page_index >= this.m_scene_data.page_list.length-1) {
- this.down_node.active = false
- if(this.m_data.direction==config.switch_scene_page_direction.down) {
- this.m_data.direction=config.switch_scene_page_direction.unknown
- this.down_node.getComponent(Toggle).isChecked = false
- }
- }
- break;
- case config.Scene_Type_List.many_screen_switch_left_right:
- this.up_node.active = false
- this.down_node.active = false
- this.left_node.active = true
- this.right_node.active = true
- if(this.m_data.binding_page_index == 0) {
- this.left_node.active = false
- if(this.m_data.direction==config.switch_scene_page_direction.left) {
- this.m_data.direction=config.switch_scene_page_direction.unknown
- this.left_node.getComponent(Toggle).isChecked = false
- }
- } else if(this.m_data.binding_page_index >= this.m_scene_data.page_list.length-1) {
- this.right_node.active = false
- if(this.m_data.direction==config.switch_scene_page_direction.right) {
- this.m_data.direction=config.switch_scene_page_direction.unknown
- this.right_node.getComponent(Toggle).isChecked = false
- }
- }
- break;
- default:
- break;
- }
- }
- updateDirectionNodeStatus() {
- this.noCheckedAll()
- this.scheduleOnce(()=> {
- switch (this.m_data.direction) {
- case config.switch_scene_page_direction.up:
- this.up_node.getComponent(Toggle).isChecked = true
- break;
- case config.switch_scene_page_direction.down:
- this.down_node.getComponent(Toggle).isChecked = true
- break;
- case config.switch_scene_page_direction.left:
- this.left_node.getComponent(Toggle).isChecked = true
- break;
- case config.switch_scene_page_direction.right:
- this.right_node.getComponent(Toggle).isChecked = true
- break;
- default:
- break;
- }
- },0.1)
- }
- updateLabStatus() {
- // console.log('this.m_data.binding_page_index=',this.m_data.binding_page_index)
- let string = '请选择切换场景的页数'
- if(this.m_data.binding_page_index != undefined && this.m_data.binding_page_index != -1) {
- string = `选择切换场景的页数是:${this.m_data.binding_page_index + 1}`
- }
- this.lab_name.getComponent(Label).string = string
- }
- }
|