|
|
@@ -1,7 +1,9 @@
|
|
|
|
|
|
import BaseUI from "../../../MOKA/component/BaseUI";
|
|
|
import { ViewZorder } from "../../../MOKA/data/ViewZOrder";
|
|
|
+import { RewardState } from "../../data/GameDefinition";
|
|
|
import GameController from "../../GameController";
|
|
|
+import GetRewardedUI from "../getRewarded/GetRewardedUI";
|
|
|
const { ccclass, property } = cc._decorator;
|
|
|
enum tab_type {
|
|
|
TuJian = 0,
|
|
|
@@ -22,8 +24,11 @@ export default class TaskUI extends BaseUI {
|
|
|
@property({ type: cc.Sprite, displayName: '进度条' })
|
|
|
private spr_pro_bar: cc.Sprite = null;
|
|
|
|
|
|
- @property({ type: cc.Node, displayName: '奖励描述' })
|
|
|
+ @property({ type: cc.Node, displayName: 'node奖励描述' })
|
|
|
private node_reward_desc: cc.Node = null;
|
|
|
+ @property({ type: cc.RichText, displayName: 'lbl奖励描述' })
|
|
|
+ private lbl_reward_desc: cc.RichText = null;
|
|
|
+
|
|
|
@property({ type: cc.Button, displayName: '奖励描述父节点', tooltip: '触摸隐藏其他节点' })
|
|
|
private btn_reward_node: cc.Button = null;
|
|
|
|
|
|
@@ -61,33 +66,73 @@ export default class TaskUI extends BaseUI {
|
|
|
let btn_name = comp_btn.node.name;
|
|
|
const _reward_id = parseInt(btn_name.split('_')[2]);
|
|
|
cc.log('点击到:%o号奖励', _reward_id)
|
|
|
+ let box_state = RewardState.lock;
|
|
|
switch (_reward_id) {
|
|
|
case 0:
|
|
|
+ box_state = RewardState.none;
|
|
|
break;
|
|
|
case 1:
|
|
|
+ box_state = RewardState.unlock;
|
|
|
break;
|
|
|
case 2:
|
|
|
+ box_state = RewardState.lock;
|
|
|
break;
|
|
|
case 3:
|
|
|
+ box_state = RewardState.lock;
|
|
|
break;
|
|
|
case 4:
|
|
|
+ box_state = RewardState.lock;
|
|
|
break;
|
|
|
case 5:
|
|
|
+ box_state = RewardState.lock;
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
- // 防止文字超出屏幕边界,改变锚点
|
|
|
- if (_reward_id === 4) {
|
|
|
- this.node_reward_desc.anchorX = 0.9;
|
|
|
- } else {
|
|
|
- this.node_reward_desc.anchorX = 0.5;
|
|
|
+ if (box_state === RewardState.none) {
|
|
|
+ this.lbl_reward_desc.string = '奖励已领取';
|
|
|
+ // 防止文字超出屏幕边界,改变锚点
|
|
|
+ if (_reward_id === 4) {
|
|
|
+ this.node_reward_desc.anchorX = 0.9;
|
|
|
+ } else {
|
|
|
+ this.node_reward_desc.anchorX = 0.5;
|
|
|
+ }
|
|
|
+ let world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
|
|
|
+ let node_pos = this.node_reward_desc.parent.convertToNodeSpaceAR(world_pos);
|
|
|
+ this.node_reward_desc.x = node_pos.x;
|
|
|
+ this.btn_reward_node.node.active = true;// 说明文字的隐藏按钮
|
|
|
+
|
|
|
+ } else if (box_state === RewardState.unlock) {
|
|
|
+ const world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
|
|
|
+ let reward_data = {
|
|
|
+ /** 奖励列表 */
|
|
|
+ arr_reward: [
|
|
|
+ {
|
|
|
+ reward_id: 1,
|
|
|
+ reward_count: 1000,
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ /** 光圈起始位置【世界坐标】,有值则代表有移动效果 */
|
|
|
+ light_start_pos: world_pos,
|
|
|
+ /** 光圈起始缩放 */
|
|
|
+ light_start_scale: 0.4,
|
|
|
+ /** 存在双倍 */
|
|
|
+ exist_double: false,
|
|
|
+ }
|
|
|
+ GameController.uiM.openUI(GetRewardedUI, null, ViewZorder.UI, null, null, reward_data);
|
|
|
+ } else if (box_state === RewardState.lock) {
|
|
|
+ this.lbl_reward_desc.string = '奖励描述';
|
|
|
+ // 防止文字超出屏幕边界,改变锚点
|
|
|
+ if (_reward_id === 4) {
|
|
|
+ this.node_reward_desc.anchorX = 0.9;
|
|
|
+ } else {
|
|
|
+ this.node_reward_desc.anchorX = 0.5;
|
|
|
+ }
|
|
|
+ let world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
|
|
|
+ let node_pos = this.node_reward_desc.parent.convertToNodeSpaceAR(world_pos);
|
|
|
+ this.node_reward_desc.x = node_pos.x;
|
|
|
+ this.btn_reward_node.node.active = true;// 说明文字的隐藏按钮
|
|
|
}
|
|
|
- let world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
|
|
|
- let node_pos = this.node_reward_desc.parent.convertToNodeSpaceAR(world_pos);
|
|
|
- // this.node_reward_desc.setPosition(node_pos);
|
|
|
- this.node_reward_desc.x = node_pos.x;
|
|
|
- this.btn_reward_node.node.active = true;
|
|
|
}
|
|
|
private hideRewardNode() {
|
|
|
this.btn_reward_node.node.active = false;
|