JisolGame/JisolGameCocos/assets/script/ui/Novice/NoviceSelectPetView.ts
DESKTOP-5RP3AKU\Jisol c519fae9a4 提交新手引导
2023-11-13 02:37:29 +08:00

84 lines
2.1 KiB
TypeScript

import { JNGLayerBase, TD, app } from '../../App';
import { TbGGlobalEnum } from '../../../resources/config/TbGGlobalEnum';
import { _decorator,Node } from 'cc';
import { sp } from 'cc';
import { UIPetAnim } from '../../consts/GData';
import { Sprite } from 'cc';
import { Color } from 'cc';
import { API } from '../../consts/API';
import { GUI } from '../UIConfig';
import PlayerPetData from '../../data/PlayerPetData';
const { ccclass, property } = _decorator;
@ccclass('NoviceSelectPetView')
export class NoviceSelectPetView extends JNGLayerBase {
//选择宠物的节点
@property([Node])
selects:Node[] = [];
//可选择宠物的列表
petIds:number[];
//选择index
index:number = 0;
async onJNLoad(data?: any) {
super.onJNLoad();
//加载配置表 (找到可选择的宠物Id)
let info = TD.TbGGlobal.get(TbGGlobalEnum.SELECT_PET_ID);
this.petIds = JSON.parse(info.args);
//显示宠物
this.selects.forEach((item,index) => {
//获取Spine组件
let spine = item.getComponentInChildren(sp.Skeleton);
//设置显示的角色
spine.skeletonData = app.battleRes.roleSpine[this.petIds[index]];
//全部角色播放等待动画
spine.setAnimation(0,UIPetAnim.std,true);
})
this.onUpdateView();
}
//更新UI
onUpdateView(){
this.selects.forEach(item => {
item.getComponent(Sprite).color = new Color("8D8D8D");
})
//被选择赋黑
this.selects[this.index].getComponent(Sprite).color = new Color("#000000");
}
//点击选择
onClickSelect(e,data){
let index = parseInt(data);
this.index = index;
//更新UI
this.onUpdateView();
}
//点击确定
async onClickOk(){
//向服务器确认选择
console.log(await PlayerPetData.getIns().SelectNovicePet(this.petIds[this.index]));
app.layer.Open(GUI.Tips,{text:"选择宠物成功 欢迎来到宠物世界..."});
//关闭页面
app.layer.CloseNode(this.node);
}
}