فهرست منبع

获得奖励界面

薛鸿潇 5 سال پیش
والد
کامیت
11699e73d5

+ 5 - 2
tower_sanguo/assets/resources/module/task/task.prefab

@@ -5663,7 +5663,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "lbl_desc",
+    "_name": "lbl_reward_desc",
     "_objFlags": 0,
     "_parent": {
       "__id__": 141
@@ -5835,7 +5835,7 @@
     "asset": {
       "__uuid__": "f262394b-b17a-454c-abb4-17ad1bd0abf6"
     },
-    "fileId": "c65pmZT4dL4pG/3l4O4tfK",
+    "fileId": "82WczDFvdP2YSxoYrnIlsY",
     "sync": false
   },
   {
@@ -6279,6 +6279,9 @@
     "node_reward_desc": {
       "__id__": 141
     },
+    "lbl_reward_desc": {
+      "__id__": 146
+    },
     "btn_reward_node": {
       "__id__": 152
     },

+ 10 - 1
tower_sanguo/assets/scripts/data/GameDefinition.ts

@@ -70,7 +70,7 @@ export enum VIDEO_TYPE {
     turnTable,                              //转盘
     invest,                                 //投资
     investSpeed,                            //视频加速投资
-    adRbProgressAd, 
+    adRbProgressAd,
 }
 
 /**带消耗确认框界面参数 */
@@ -81,4 +81,13 @@ export interface CustomDialogParams {
     cancelCb?: Function,
     closeUIOnCancle?: boolean,
     thisObj?: any,
+}
+/** 奖励状态 */
+export enum RewardState {
+    /** 未解锁 */
+    lock = 0,
+    /** 可领取 */
+    unlock = 1,
+    /** 已领取 */
+    none = 2,
 }

+ 56 - 11
tower_sanguo/assets/scripts/module/task/TaskUI.ts

@@ -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;