super-hero/assets/cc-game/scripts/game_ui/LevelUp/SkillRewardItemUI.ts

69 lines
2.5 KiB
TypeScript
Raw Permalink Normal View History

2024-05-08 02:31:19 -07:00
import { Label } from 'cc';
import { Button } from 'cc';
import { Sprite } from 'cc';
import { _decorator, Component, Node } from 'cc';
import { SkillInfo } from '../../global/GameInterface';
import { UmLog } from '../../../../cc-common/cc-util/UmLog';
import { GameDefine } from '../../config/GameDefine';
import { GameGlobalData } from '../../global/GameGlobalData';
const { ccclass, property } = _decorator;
@ccclass('SkillRewardItemUI')
export class SkillRewardItemUI extends Component {
@property(Sprite) spIcon: Sprite = null!;
@property(Label) txtName: Label = null!;
@property(Label) txtInfo: Label = null!;
@property(Button) btnSelect: Button = null!;
selectCallback = null;
skillData: SkillInfo = null;
protected onLoad(): void {
this.btnSelect?.node.on(Button.EventType.CLICK, this.onBtnSelectClicked, this);
}
public setData(skillData: SkillInfo, selectCallback)
{
this.skillData = skillData;
this.txtName.string = skillData.skillName;
this.selectCallback = selectCallback;
var infoStr = "";
if (GameGlobalData.Instance.isActiveSkill(skillData.skillName))
{
var asCollected = GameGlobalData.Instance.userDataSaver.activeSkillCollected;
var targetLevel = 1;
if (asCollected.hasOwnProperty(skillData.skillName)) {
targetLevel += asCollected[skillData.skillName];
}
var skillConfig = GameGlobalData.Instance.gameDataConfig.getActiveSkillDataByNameAndLevel(skillData.skillName, targetLevel);
this.txtName.string += (": " + skillConfig.Visual_Name);
infoStr += `\nDMG: ~> ${skillConfig.DMG}`;
infoStr += `\nMana: ~> ${skillConfig.Mana}`;
infoStr += `\nRange: ~> ${skillConfig.Range}`;
}
else {
var psCollected = GameGlobalData.Instance.passiveSkillCollected;
var targetLevel = 1;
if (psCollected.hasOwnProperty(skillData.skillName))
{
targetLevel += psCollected[skillData.skillName];
}
var skillConfig = GameGlobalData.Instance.gameDataConfig.getPassiveSkillDataByNameAndLevel(skillData.skillName, targetLevel);
infoStr = `${skillConfig.visualname}: +${skillConfig.value}`;
}
this.txtInfo.string = infoStr;
}
onBtnSelectClicked()
{
UmLog.log("onBtnSelectClicked => ", this.skillData.skillName);
this.selectCallback?.(this.skillData);
}
}