124 lines
4.8 KiB
JavaScript
Raw Permalink Normal View History

2025-04-24 17:03:28 +08:00
import GameModel from "../ts/core/GameModel";
import ItemUtil from "../ts/core/ItemUtil";
import SKUIUtil from "../ts/gear_2.3.4/util/SKUIUtil";
let CPubFunction = require('./PubFunction');
let CMainPlayerInfo = require('./MainPlayerInfo');
let pTaskConfigMgr = require('./task_config').g_pTaskConfigMgr;
let EState = require('./task_config').EState;
cc.Class({
extends: cc.Component,
properties:{
btnPhKind:cc.Prefab,
preItem:cc.Prefab,
},
start() {
this.vecTaskBtn = [];
this.vecTaskState = [];
this.vecPrizeIcon = [];
cc.find('btnClose', this.node).getComponent(cc.Button).clickEvents.push(CPubFunction.CreateEventHandler(this.node, "TaskUI", "Close", 0));
cc.find('btnAbort', this.node).getComponent(cc.Button).clickEvents.push(CPubFunction.CreateEventHandler(this.node, "TaskUI", "Abort", 0));
//---------------------
this.nIndex = 0;
this.CreateBtnByTaskList(CMainPlayerInfo.vecTaskState);
},
CreateBtnByTaskList(vecTask) {
console.log("CreateBtnByTaskList........")
SKUIUtil.destroyList(this.vecTaskBtn);
this.vecTaskState = [];
let stStart = { nX: 120, nY: -40 };
let goContent = cc.find('svButton/view/content', this.node);
for (const it in vecTask) {
let stData = vecTask[it];
if(stData.vecStepState.length == 1 && stData.vecStepState[0].nState == 2) continue
this.vecTaskState.push(stData);
}
for (const it in this.vecTaskState) {
let stData = this.vecTaskState[it];
console.log(stData)
let stTaskConfig = pTaskConfigMgr.GetTaskInfo(stData.nTaskID);
let goBtn = CPubFunction.CreateSubNode(goContent, { nX: stStart.nX, nY: stStart.nY - it * 70 }, this.btnPhKind, 'btnPhKind');
goBtn.getComponent(cc.Button).clickEvents.push(CPubFunction.CreateEventHandler(this.node, "TaskUI", "OnClickTask", it));
cc.find('Label', goBtn).getComponent(cc.Label).string = stTaskConfig.strTaskName;
this.vecTaskBtn.push(goBtn);
}
this.OnClickTask(null, 0);
},
OnClickTask(stEvent, nIndex) {
this.nIndex = nIndex;
let stTaskState = this.vecTaskState[nIndex];
if (null == stTaskState)
return;
let strTaskConfig = pTaskConfigMgr.GetTaskInfo(stTaskState.nTaskID);
if (null == strTaskConfig)
return;
let strTip = '';
let vecPrize = [];
for (var it in stTaskState.vecStepState) {
let stStepState = stTaskState.vecStepState[it];
if (stStepState.nState != EState.EDoing)
continue;
strTip = strTaskConfig.vecEvent[it].strTip;
vecPrize = strTaskConfig.vecEvent[it].vecPrize.slice(0)
break;
}
cc.find('labTaskTip', this.node).getComponent(cc.Label).string = strTip;
SKUIUtil.destroyList(this.vecPrizeIcon);
for (var nIndex in vecPrize) {
let nodPrize = cc.find('nodPrize', this.node);
let nX = -150 + (nIndex % 5) * 75;
let nY = 30 - Math.floor(nIndex / 5) * 75;
let key = vecPrize[nIndex].nKey;
let nItemNum = vecPrize[nIndex].nValue;
if (key == 'active')
continue;
let goPrizeIcon = CPubFunction.CreateSubNode(nodPrize, { nX: nX, nY: nY }, this.preItem, 'preItem');
if (key == 'exp') {
SKUIUtil.setSpriteFrame(cc.find('Icon', goPrizeIcon), 'Common/ui_common', 'ui_common_icon_exp');
cc.find('txLap', goPrizeIcon).getComponent(cc.Label).string = nItemNum;
}
else if (key == 'petexp') {
SKUIUtil.setSpriteFrame(cc.find('Icon', goPrizeIcon), 'Common/ui_common', 'ui_common_icon_exppet');
cc.find('txLap', goPrizeIcon).getComponent(cc.Label).string = nItemNum;
}
else if (key == 'money') {
SKUIUtil.setSpriteFrame(cc.find('Icon', goPrizeIcon), 'Common/ui_common', 'ui_common_icon_yinliang');
cc.find('txLap', goPrizeIcon).getComponent(cc.Label).string = nItemNum;
}
else {
let stConfigInfo = ItemUtil.getItemData(key);
cc.find('Icon', goPrizeIcon).getComponent(cc.Sprite).spriteFrame = ItemUtil.getItemIconBy(stConfigInfo);
cc.find('txLap', goPrizeIcon).getComponent(cc.Label).string = nItemNum;
}
this.vecPrizeIcon.push(goPrizeIcon);
}
},
Close() {
this.node.destroy();
},
Abort() {
let stTaskState = this.vecTaskState[this.nIndex];
if (null == stTaskState)
return;
GameModel.send('c2s_abort_task', { nTaskID: stTaskState.nTaskID });
this.Close();
},
});