72 lines
2.2 KiB
TypeScript
Raw Normal View History

import { _decorator, Component, Node } from 'cc';
import { JNGLayerBase } from '../../../components/JNComponent';
2023-12-27 02:26:52 +08:00
import JNScrollView from '../../../../../extensions/ngame/assets/ngame/util/components/scrollview/JNScrollView';
import GOnHookData from '../../../data/GOnHookData';
2023-12-28 02:56:34 +08:00
import { app, TD } from '../../../App';
2023-12-27 02:26:52 +08:00
import { NodeEventType } from 'cc';
import { TablePetIconSelectScroll } from '../../Consts/Pet/table/TablePetIconSelectScroll';
2023-12-28 02:56:34 +08:00
import { Label } from 'cc';
import GOnHookManager from '../../../manager/battle/mode/GOnHookManager';
import { GUI } from '../../UIConfig';
2024-01-19 02:42:37 +08:00
import { Toggle } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('MainOnHookView')
export class MainOnHookView extends JNGLayerBase {
2023-12-27 02:26:52 +08:00
//野怪列表
@property(JNScrollView)
views:JNScrollView;
2023-12-28 02:56:34 +08:00
//挂机按钮
@property(Label)
onHookLabel:Label;
2024-01-19 02:42:37 +08:00
//是否自动下一关
@property(Toggle)
toggle:Toggle;
2023-12-27 02:26:52 +08:00
onJNLoad(){
super.onJNLoad();
this.onUpdateView();
//向子节点添加点击事件
this.views.addItemEvent(NodeEventType.TOUCH_START,this.onClickItem.bind(this));
}
onUpdateView(){
//显示当前地图可出现的所有宠物
let mapInfo = TD.TbGOnHookMaps.get(GOnHookData.getIns().info.onHookMap);
let pets = mapInfo.petIds.map(petId => TD.TbGRole.get(petId));
this.views.refreshData(pets);
2023-12-28 02:56:34 +08:00
this.onHookLabel.string = (!GOnHookManager.getIns().isOnHook) ? "挂机" : "取消挂机"
2023-12-27 02:26:52 +08:00
}
//点击Item
onClickItem(index:number){
let datas = this.views.getItems<TablePetIconSelectScroll>();
datas[index].select.isSelect = !datas[index].select.isSelect;
}
2023-12-28 02:56:34 +08:00
//点击挂机
onClickOnHook(){
GOnHookManager.getIns().onHookCatchPets = this.views.getItems<TablePetIconSelectScroll>().filter(item => item.select.isSelect).map(item => item.data)
GOnHookManager.getIns().isOnHook = !GOnHookManager.getIns().isOnHook;
2024-01-19 02:42:37 +08:00
GOnHookManager.getIns().isAutoNext = this.toggle.isChecked;
2023-12-28 02:56:34 +08:00
app.layer.Open(GUI.Tips,{text:`${(GOnHookManager.getIns().isOnHook) ? "挂机" : "取消挂机"} 设置成功`})
this.close();
}
2023-12-27 02:26:52 +08:00
}