12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import { _decorator, assetManager, Component, ImageAsset, instantiate, Label, Node, Prefab, SpriteFrame, Texture2D } from 'cc';
- import { select_res_type } from './select_res_type';
- import { control } from './edit/control';
- import { select_res_list_item } from './select_res_list_item';
- import { bag_item_data } from '../data/data';
- const { ccclass, property } = _decorator;
- @ccclass('select_res_list')
- export class select_res_list extends Component {
- @property(Node) select_res_type:Node = null;
- @property(Node) content:Node = null;
- @property(Prefab) item_prefab:Prefab = null;
- @property(Node) btn_sure:Node = null;
- @property(Node) btn_close:Node = null;
- @property(Node) lab_title:Node = null;
- private m_call_back = null;
- private m_cur_select_item:select_res_list_item = null;
- public initView(call){
- this.m_call_back = call;
- this.select_res_type.getComponent(select_res_type).initView(this.start_show_view.bind(this))
- this.btn_sure.on(Node.EventType.TOUCH_END,()=>{
- if(this.m_call_back!=null){
- this.m_call_back(this.m_cur_select_item.getData())
- }
- this.close()
- })
- this.btn_close.on(Node.EventType.TOUCH_END,()=>{
- this.close()
- })
- }
- close(){
- this.node.removeFromParent()
- }
- onItemClick(item:select_res_list_item){
- this.unSelectAll()
- this.m_cur_select_item = item
- this.lab_title.getComponent(Label).string = this.m_cur_select_item.getData().name
- this.m_cur_select_item.selectStatus()
- }
- unSelectAll(){
- for (let index = 0; index < this.content.children.length; index++) {
- const element = this.content.children[index];
- element.getComponent(select_res_list_item).unSelectStatus()
- }
- }
- start_show_view(type:number){
- this.select_res_type.active = false;
- let res_list = control.Singleton.getResDataByType(type)
- for (let index = 0; index < res_list.length; index++) {
- const element = res_list[index];
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(select_res_list_item).initView(element,this.onItemClick.bind(this))
- if(index ===0){
- this.m_cur_select_item = item.getComponent(select_res_list_item);
- this.m_cur_select_item.selectStatus()
- this.lab_title.getComponent(Label).string = this.m_cur_select_item.getData().name
- }else{
- item.getComponent(select_res_list_item).unSelectStatus()
- }
- }
- }
- }
|