Просмотр исходного кода

Merge branch 'master' of http://git.mokasz.com/zouyong/mk_framework

zouyong 5 лет назад
Родитель
Сommit
69ba66124f

+ 79 - 2
assets/script/game/data/GameData.ts

@@ -21,7 +21,9 @@ export class GameData {
     /** 功能开启 */
     public funOpenData: string[] = [];
 
-    public gameData: PlayerInfoType;
+    public gameData: PlayerProp = null;
+    /** 标志位:刷新主界面货币 */
+    public init_coin: boolean = false;
 
     public props: Map<number, number>;
 
@@ -38,6 +40,7 @@ export class GameData {
      * @returns 
      */
     public async init() {
+
         let data: any = { "versionCode": gData.appData.version };
         let response = await mk.http.sendData('getAllConfigInfo', data);
         if (response.errcode != 0) {
@@ -64,7 +67,7 @@ export class GameData {
             return;
         }
         mk.console.logSingle("getInfoCrypt", response.data);
-        this.gameData = response.data;
+        this.initPlayerProp(response.data)
 
         if (this.props == null) {
             this.props = new Map<number, number>();
@@ -84,6 +87,28 @@ export class GameData {
     }
 
     /**
+     * 初始化玩家数据
+     */
+    private initPlayerProp(res_data) {
+        this.gameData = new PlayerProp();
+        this.gameData.cashIndex = res_data.cashIndex;
+        this.gameData.gameUserData = res_data.gameUserData;
+        this.gameData.isSignInToday = res_data.isSignInToday;
+        this.gameData.isWithdrawable = res_data.isWithdrawable;
+        this.gameData.lastTime = res_data.lastTime;
+        this.gameData.loginDays = res_data.loginDays;
+        this.gameData.newPlayer = res_data.newPlayer;
+        this.gameData.piggyBank = res_data.piggyBank;
+        this.gameData.piggyBankCashTimes = res_data.piggyBankCashTimes;
+        this.gameData.redMoney = res_data.redMoney;
+        this.gameData.signInDay = res_data.signInDay;
+        this.gameData.totalPiggyBankCashTimes = res_data.totalPiggyBankCashTimes;
+        this.gameData.turntableTimes = res_data.turntableTimes;
+        this.gameData.userTuCaoInfo = res_data.userTuCaoInfo;
+        this.gameData.versioncfg = res_data.versioncfg;
+    }
+
+    /**
      * 保存单个数据
      */
     public async setProp(key: GameProp, value: number) {
@@ -184,6 +209,58 @@ export enum GameProp {
 }
 
 /**
+ * 玩家数据
+ */
+class PlayerProp {
+    /** 自定义不需要校验的数据 */
+    gameUserData = 0;
+    /** 今日是否有签到 */
+    isSignInToday = 0;
+    
+    private _piggyBank: number = 0;
+    /** 存钱罐存款 */
+    set piggyBank(value: number) {
+        this._piggyBank = value;
+        gData.gameData.init_coin = true;
+    }
+    get piggyBank(): number {
+        return this._piggyBank;
+    }
+
+    /** 存钱罐能否提现 */
+    isWithdrawable = 0;
+    /** 存钱罐每日提现次数 */
+    piggyBankCashTimes = 0;
+    /** 累计存钱罐每日提现次数 */
+    totalPiggyBankCashTimes = 0;
+    /** 提现进度 */
+    cashIndex = 0;
+    /** 上次登录时间 */
+    lastTime = 0;
+    /** 登录天数 */
+    loginDays = 0;
+    newPlayer = 0;
+
+    private _redMoney: number = 0;
+    /** 红包币数量 */
+    set redMoney(value: number) {
+        this._redMoney = value;
+        gData.gameData.init_coin = true;
+    }
+    get redMoney(): number {
+        return this._redMoney;
+    }
+    /** 累计签到次数 客户端理解 上次签到天数 */
+    signInDay = 0;
+    /** 转盘次数 */
+    turntableTimes = 0;
+    /** 版本号 */
+    versioncfg = 0;
+    /** 福袋数据 */
+    userTuCaoInfo = 0;
+}
+
+/**
  * 奖励状态
  */
 export enum RewardState {

+ 17 - 0
assets/script/game/data/module/RewardData.ts

@@ -1,4 +1,5 @@
 import { Data } from "../../../mk/data/Data";
+import { RewardType } from "../GameData";
 
 /**
  * @description 奖励数据
@@ -20,4 +21,20 @@ export class RewardData extends Data {
     get data(): Array<any> {
         return this._data;
     }
+
+    /**
+    * 奖励添加
+    */
+    public addReward() {
+        const i_count = gData.reward.data.length;
+        for (let i = 0; i < i_count; i++) {
+            if (gData.reward.data[i].rewardType == RewardType.redBag) {
+                gData.gameData.gameData.redMoney += gData.reward.data[i].rewardNum;
+            } else if (gData.reward.data[i].rewardType == RewardType.rmb) {
+                // ?
+            } else if (gData.reward.data[i].rewardType == RewardType.pigRmb) {
+                gData.gameData.gameData.piggyBank += gData.reward.data[i].rewardNum;
+            }
+        }
+    }
 }

+ 8 - 0
assets/script/game/game/Game.ts

@@ -42,6 +42,14 @@ export default class Game extends cc.Component {
         this.initQiPaos();
         this.initInfo();
     }
+    update() {
+        if (gData.gameData.init_coin) {
+            this.initInfo();
+        }
+    }
+    lateUpdate() {
+        gData.gameData.init_coin = false;
+    }
 
     private initMusic() {
         mk.audio.playMusic("bgm");

+ 5 - 2
assets/script/game/module/pigBank/PigBank.ts

@@ -27,15 +27,18 @@ export default class PigBank extends cc.Component {
 
     update(dt) {
         if (gData.pigbank.init_data) {
-            gData.pigbank.init_data = false;
             this.initCashDesc();
         }
         if (gData.pigbank.adData) {
             cc.log('存钱罐提现', gData.pigbank.adData)
-            gData.pigbank.adData = null;
         }
     }
 
+    lateUpdate() {
+        gData.pigbank.init_data = false;
+        gData.pigbank.adData = null;
+    }
+
     /** 
      * 提现描述展示
      */

+ 4 - 1
assets/script/game/module/redBagCash/RedBagCash.ts

@@ -35,12 +35,15 @@ export default class RedBagCash extends cc.Component {
         }
     }
 
+    lateUpdate() {
+        gData.redBagCash.init_list = false;
+    }
+
     /**
      * 初始化滚动视图
      */
     private initScrollView() {
         this.sroll_view.node.emit('srollview-init', gData.redBagCash.c_data);
-        gData.redBagCash.init_list = false;
         // 条目动画
         this.scheduleOnce(() => {
             this.itemAnim();

+ 8 - 6
assets/script/game/module/reward/Reward.ts

@@ -52,6 +52,7 @@ export default class Reward extends cc.Component {
 
     onLoad() {
         this.lbl_reward_value.string = '0';
+        // gData.reward.data = [{ rewardType: 3, rewardNum: 100 }]// 测试数据
     }
 
     start() {
@@ -61,18 +62,21 @@ export default class Reward extends cc.Component {
 
     update(dt) {
         if (gData.reward.init_cash_style) {
-            gData.reward.init_cash_style = null;
             this.initCashOutStyle();
             return;
         }
         if (gData.reward.adData) {
             // 展示奖励
             this.watchVideoCall();
-            gData.reward.adData = null;
             return;
         }
     }
 
+    lateUpdate() {
+        gData.reward.init_cash_style = null;
+        gData.reward.adData = null;
+    }
+
     /**
      * 初始化封面样式
      */
@@ -122,8 +126,6 @@ export default class Reward extends cc.Component {
         }
         // 测试数据
         gData.reward.adData = gData.reward.data;
-
-        this.flyCoinAnim();
     }
 
     /**
@@ -164,10 +166,11 @@ export default class Reward extends cc.Component {
     }
 
     /**
-     * 获得奖励
+     * 点击获得奖励
      */
     private clickGetReward() {
         cc.log('获取奖励:', gData.reward.data);
+        gData.reward.addReward();
         this.flyCoinAnim();
         gData.reward.data = [];
     }
@@ -184,7 +187,6 @@ export default class Reward extends cc.Component {
      * 飞coin动画
      */
     private flyCoinAnim() {
-        // gData.reward.data = [{ rewardType: 3 }]// 测试
         if (!gData.reward.data || !gData.reward.data.length) return;
         let target_node = gData.gameData.gameStyle.icon_hb;
         if (gData.reward.data[0].rewardType == RewardType.redBag) {

+ 5 - 2
assets/script/game/module/sign/Sign.ts

@@ -46,17 +46,20 @@ export default class Sign extends cc.Component {
 
     update(dt) {
         if (gData.sign.init_data) {
-            gData.sign.init_data = false;
             this.initBtnStyle();
             return;
         }
         if (gData.sign.adData) {
             // 展示奖励
             this.getReward();
-            gData.sign.adData = null;
         }
     }
 
+    lateUpdate() {
+        gData.sign.init_data = false;
+        gData.sign.adData = null;
+    }
+
     /**
      * 点击领取按钮
      */