59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
|
import GameModel from "../ts/core/GameModel";
|
||
|
|
||
|
cc.Class({
|
||
|
extends: cc.Component,
|
||
|
properties: {
|
||
|
progress: cc.ProgressBar,
|
||
|
jadesum_label: cc.Label,
|
||
|
jade_label: cc.Label,
|
||
|
reward_button: cc.Node,
|
||
|
gained_sprite: cc.Node,
|
||
|
bag_item: cc.Prefab,
|
||
|
},
|
||
|
|
||
|
/*
|
||
|
* 初始化
|
||
|
* @param reward_money 達到獎勵所需money
|
||
|
* @param charge_sum 總充值
|
||
|
* @param has_gain 是否領取
|
||
|
*/
|
||
|
init(reward_money, charge_sum, has_gain, reward_list, id) {
|
||
|
this.id = id;
|
||
|
if (charge_sum > reward_money)
|
||
|
charge_sum = reward_money;
|
||
|
this.jade_label.string = `${charge_sum}元/${reward_money}元`;
|
||
|
this.jadesum_label.string = `${reward_money}元`;
|
||
|
this.progress.progress = charge_sum / reward_money;
|
||
|
if (charge_sum / reward_money == 1) {
|
||
|
this.progress.node.active = false;
|
||
|
this.jade_label.node.active = false;
|
||
|
this.reward_button.active = !has_gain;
|
||
|
this.gained_sprite.active = has_gain;
|
||
|
}
|
||
|
else
|
||
|
this.progress.node.active = true;
|
||
|
this.reward_button.active = true
|
||
|
let node_list = [];
|
||
|
for (let item of reward_list) {
|
||
|
let node = cc.instantiate(this.bag_item);
|
||
|
let logic = node.getComponent('BagItem');
|
||
|
logic.item_bg.setScale(0.8);
|
||
|
logic.item_selected.opacity = 0;
|
||
|
node_list.push(node);
|
||
|
node.parent = this.node;
|
||
|
node.setContentSize(80, 80);
|
||
|
node.y = 0;
|
||
|
logic.loadInfo({ itemid: item.gid, count: item.count, });
|
||
|
}
|
||
|
for (let i = 0; i < node_list.length; ++i)
|
||
|
node_list[i].x = 28 + (i - (node_list.length - 1) / 2) * 80;
|
||
|
},
|
||
|
|
||
|
onButtonClick(event, param) {
|
||
|
GameModel.player.rewardrecord |= (1 << (this.id - 1));
|
||
|
GameModel.send('c2s_charge_reward', { rewardid: this.id });
|
||
|
this.gained_sprite.active = true;
|
||
|
this.reward_button.active = false;
|
||
|
},
|
||
|
});
|