12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- import { _decorator, Component, instantiate, Node, Prefab, Vec3 } from 'cc';
- import { config } from '../../config';
- import { edit_event_view_select_btn } from './edit_event_view_select_btn';
- import { Attributes } from '../Attributes';
- import { event_item } from '../../../data/data';
- import { event_item_view } from './event_item_view';
- import { control } from '../control';
- import { main } from '../../main';
- import { ClientEvent } from '../../clientEvent';
- const { ccclass, property } = _decorator;
- @ccclass('edit_event_view')
- export class edit_event_view extends Component {
- @property(Prefab) event_item_prefab:Prefab = null;
- @property(Node) btn_close:Node = null;
- @property(Node) content:Node = null;
- @property(Node) type_content:Node = null;
- @property(Node) type_btn:Node = null;
- private m_cur_select_type:number = -1;
- public show(){
- this.btn_close.on(Node.EventType.TOUCH_END,()=>{
- this.node.removeFromParent()
- })
- this.type_content.removeAllChildren()
- let btn = instantiate(this.type_btn)
- btn.getComponent(edit_event_view_select_btn).initView(-1,"全部",this.onTypeItemClick.bind(this))
- btn.getComponent(edit_event_view_select_btn).selectStatus()
- btn.parent = this.type_content
- config.event_type_map.forEach((v,k)=>{
- let item = instantiate(this.type_btn)
- item.parent = this.type_content
- item.getComponent(edit_event_view_select_btn).initView(k,v,this.onTypeItemClick.bind(this))
- })
- this.m_cur_select_type = -1;
- this.updateView()
- }
- allBtnUnSelect(){
- for (let index = 0; index < this.type_content.children.length; index++) {
- const element = this.type_content.children[index];
- element.getComponent(edit_event_view_select_btn).unselectStatus()
- }
- }
- onTypeItemClick(item:edit_event_view_select_btn){
- this.allBtnUnSelect()
- item.selectStatus()
- if(this.m_cur_select_type!=item.getType()){
- this.m_cur_select_type = item.getType()
- this.updateView()
- }
- }
- updateView(){
- this.content.removeAllChildren()
- let list = this.getEventListByType()
- for (let index = 0; index < list.length; index++) {
- const element = list[index];
- let item = instantiate(this.event_item_prefab)
- item.parent = this.content;
- item.getComponent(event_item_view).initView(element.type,element,this.onDeleteItem.bind(this))
- }
- }
- public onDeleteItem(item:event_item){
- let task_data = main.Singleton.edit_scene_view.getTaskData()
- if(task_data!=null){
- for (let index = 0; index < task_data.event_list.length; index++) {
- const element = task_data.event_list[index];
- if(element.event_id===item.event_id){
- task_data.event_list.splice(index,1)
- this.updateView()
- ClientEvent.dispatchEvent(config.Event.UpdateEditScene)
- break;
- }
- }
- }
- }
- getEventListByType(){
- let list = Attributes.Singleton.getEventList()
- if(this.m_cur_select_type==-1){
- return list;
- }else{
- let temp:event_item[] = []
- for (let index = 0; index < list.length; index++) {
- const element = list[index];
- if(element.type==this.m_cur_select_type){
- temp.push(element)
- }
- }
- return temp;
- }
- }
- }
|