| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { _decorator, Component, Node, Sprite, Label, SpriteFrame } from 'cc';
- import { DataSystem } from '../../core/data/DataSystem';
- import { Http, HttpResponseCode } from '../../core/net/Http';
- import { ResourceLoader } from '../../core/resourceManager/ResourceLoader';
- import { Window } from '../../core/ui/window/Window';
- import { WindowOpenMode } from '../../core/ui/window/WindowOpenMode';
- import { WindowSystem } from '../../core/ui/window/WindowSystem';
- import { ConfigData } from '../../data/ConfigData';
- import { UserHero } from '../../hero/UserHeroData';
- import { RedPointData } from '../../main/RedPointData';
- const { ccclass, property } = _decorator;
- @ccclass('HeroRewardItem')
- export class HeroRewardItem extends Component {
- @property({ type: ResourceLoader, displayName: "资源加载组件", tooltip: "资源加载组件" }) res: ResourceLoader = null;
- @property({ type: Sprite, displayName: "图_框", tooltip: "图_框" }) imgBg: Sprite = null;
- @property({ type: Sprite, displayName: "图_武将", tooltip: "图_武将" }) imgHero: Sprite = null;
- @property({ type: Sprite, displayName: "图_阵营", tooltip: "图_阵营" }) imgCamp: Sprite = null;
- @property({ type: Label, displayName: "文本_名称", tooltip: "文本_名称" }) txtName: Label = null;
- @property({ type: Label, displayName: "文本_简介", tooltip: "文本_简介" }) txtDes: Label = null;
- @property({ type: Node, displayName: "节点_领取按钮", tooltip: "节点_领取按钮" }) nodeGet: Node = null;
- @property({ type: Node, displayName: "节点_已领取", tooltip: "节点_已领取" }) nodeGeted: Node = null;
- @property({ type: Node, displayName: "红点", tooltip: "红点" }) redpointNode: Node = null;
- @property({ type: Label, displayName: "文本_已领取红包", tooltip: "文本_已领取红包" }) txtRbGeted: Label = null;
- private heroId: number;
- private rewardUI: Window;
- public async updateInfo(hero: UserHero, getData: any, isHasRedpoint: boolean, index?: number) {
- this.heroId = hero.client.id;
- this.txtName.string = hero.client.name;
- this.txtDes.string = hero.client.introduce;
- this.nodeGet.active = getData == null || !getData.rewardReceived || !getData.videoRewardReceived;
- this.nodeGeted.active = !this.nodeGet.active;
- let cfg = getData ? DataSystem.getData(ConfigData).get("heroReward")[getData.id] : null;
- let rewardNum = cfg ? getData.rewardReceived ? this.getRewardNum(cfg.rewardNum, cfg.rewardType) : 0 : 0;
- let videoRewardNum = cfg ? getData.videoRewardReceived ? this.getRewardNum(cfg.videoRewardNum, cfg.videoRewardType) : 0 : 0;
- this.txtRbGeted.string = `${rewardNum + videoRewardNum}`;
- this.redpointNode.active = isHasRedpoint;
- this.imgBg.spriteFrame = await this.res.load<SpriteFrame>("images/general/texture/bg_img/bg" + hero.client.color + "/spriteFrame", SpriteFrame);
- this.imgHero.spriteFrame = await this.res.load<SpriteFrame>("images/general/texture/hero_img/" + hero.client.hero_res + "/spriteFrame", SpriteFrame);
- this.imgCamp.spriteFrame = await this.res.load<SpriteFrame>("images/general/texture/icon_camp_" + hero.client.camp + "/spriteFrame", SpriteFrame);
- }
- private async onClickGet() {
- let result = await this.getComponent(Http).send("/api/hero/getRewardOne", { id: this.heroId });
- console.log("Data: ", result);
- if (result && result.code == HttpResponseCode.Success) {
- if (!result.data.rewardReceived || !result.data.videoRewardReceived) {
- WindowSystem.open("prefabs/ui/recruit/heroRewardGet", WindowOpenMode.CloseAndAdd, [{ heroId: this.heroId, data: result.data }]);
- //this.getComponent(OpenWindow).open({ heroId: this.heroId, data: result.data });
- // let index = DataSystem.getData(RedPointData).herosReward.indexOf(this.heroId);
- // (index != -1) && DataSystem.getData(RedPointData).herosReward.splice(index, 1);
- }
- else
- WindowSystem.showTips("无奖励可领取");
- } else {
- WindowSystem.showTips("请求失败");
- }
- }
- private getRewardNum(num: number, rewardType: number) {
- return rewardType == 3 ? num : 0;
- }
- }
|