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; }, });