dzduole 2 周之前
父節點
當前提交
35d12c55ed

+ 356 - 14
client/laya/bin/js/bundle.js

@@ -6110,6 +6110,7 @@
             xGame.common.upSkillLevel = true;
         }
         startGame() {
+            console.log('zh:rod skill startgame');
             if (this.data.index == 3) {
                 alert('Coming soon!');
                 return;
@@ -6129,6 +6130,7 @@
                 xGame.common.curPlayerSkillType = this.index;
                 if (guide == 0)
                     xGame.common.curPlayerSkillType = 0;
+                console.log('zh: skilldisplay 1');
                 xGame.uiMgr.Show(UIGame);
                 xGame.uiMgr.Hide(UIMain);
                 xGame.uiMgr.Show(UIMatching, () => {
@@ -6136,12 +6138,43 @@
                     xGame.common.gameUI.startGame();
                     xGame.uiMgr.Hide(UISkill);
                 });
+                this.logEventForRod_start();
             }
             else {
+                console.log('zh: skilldisplay 2');
                 xGame.uiMgr.Show(UIAddProp, 0);
                 Moyu.sendDataEvent("AddCoinVideo");
             }
         }
+        logEventForRod_start() {
+            let gfmsIdx = xGame.common.curPlayerSkillType;
+            console.log('zh:选择的技能=' + gfmsIdx);
+            let gfmc = 'Skyfall Shot';
+            if (gfmsIdx == 0) {
+                gfmc = 'Skyfall Shot';
+            }
+            if (gfmsIdx == 1) {
+                gfmc = 'Surging break';
+            }
+            if (gfmsIdx == 2) {
+                gfmc = 'Frost Lock';
+            }
+            let keyStr = 'sjmd_rod_start_' + gfmsIdx;
+            let jsonStr = {
+                "count": 1,
+                "name": gfmc
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.count = d.count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('rod_start', reqStr);
+        }
     }
 
     class UISkill extends UIBase {
@@ -6382,6 +6415,7 @@
                 Laya.timer.once(200, this, () => {
                     this.callback && this.callback();
                 });
+                this.logEventForClassic_start();
             }
             else {
                 Moyu.sendDataEvent("AddCoinVideo");
@@ -6392,6 +6426,36 @@
             let rand = this.peopleOffest[index];
             return this.peopleArr[index] + xGame.common.randomNum(-rand, rand);
         }
+        logEventForClassic_start() {
+            let rtype = xGame.common.classicRoomType;
+            let msmc = '';
+            if (rtype == 1) {
+                msmc = 'beginner';
+            }
+            if (rtype == 2) {
+                msmc = 'expert';
+            }
+            if (rtype == 3) {
+                msmc = 'master';
+            }
+            let keyStr = 'sjmd_classic_start_' + rtype;
+            let jsonStr = {
+                "difficulty": msmc,
+                "classic_count": 1,
+                "difficulty_count": 1
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.classic_count = d.classic_count + 1;
+                jsonStr.difficulty_count = d.difficulty_count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('classic_start', reqStr);
+        }
     }
     UIModeSelection.uiName = "UIModeSelection";
 
@@ -7041,12 +7105,16 @@
                             xGame.uiMgr.Show(UIAddCoin);
                         });
                     }
+                    else {
+                        this.logEventForClassic_win();
+                    }
                     this.ui.isGetAward.visible = false;
                     this.ui.leftBtn.c1.selectedIndex = 3;
                     this.ui.rightBtn.c1.selectedIndex = 0;
                     this.moneyNode.ui.c1.selectedIndex = 1;
                     break;
                 case GameMode.bigMove:
+                    console.log('zh:招法模式 aaaaaa   bigMove');
                     this.ui.c1.selectedIndex = this.success ? 0 : 1;
                     this.ui.coinNode.visible = this.success;
                     if (xGame.common.gameMode == GameMode.bigMove) {
@@ -7058,11 +7126,15 @@
                             DataMgr.setSkillSuccessTimes(0, false);
                         }
                     }
+                    this.logEventForRod_complete_N();
                     if (!this.success) {
                         Laya.timer.once(500, this, () => {
                             xGame.uiMgr.Show(UIAddCoin);
                         });
                     }
+                    else {
+                        this.logEventForRod_win();
+                    }
                     this.ui.isGetAward.visible = false;
                     this.ui.leftBtn.c1.selectedIndex = 3;
                     this.ui.rightBtn.c1.selectedIndex = 0;
@@ -7077,6 +7149,13 @@
                         else {
                             this.ui.c1.selectedIndex = 3;
                         }
+                        let level = xGame.common.placeBallCurLevel;
+                        if (level > 59) {
+                            this.logEventForChallenge_level_complete(level);
+                        }
+                        else {
+                            this.logEventForChallenge_level_N(level);
+                        }
                     }
                     else {
                         this.ui.c1.selectedIndex = 4;
@@ -7098,6 +7177,105 @@
                     break;
             }
         }
+        logEventForRod_complete_N() {
+            let gfmsIdx = xGame.common.curPlayerSkillType;
+            console.log('zh:logEventForRod_complete_N 选择的技能=' + gfmsIdx);
+            let gfmc = 'Skyfall Shot';
+            if (gfmsIdx == 0) {
+                gfmc = 'Skyfall Shot';
+            }
+            if (gfmsIdx == 1) {
+                gfmc = 'Surging break';
+            }
+            if (gfmsIdx == 2) {
+                gfmc = 'Frost Lock';
+            }
+            let level = DataMgr.getBigSkillByIndex(gfmsIdx);
+            console.log('zh:logEventForRod_complete_N  level = ' + level);
+            let keyStr = 'sjmd_rod_start_' + gfmsIdx;
+            let jsonStr = {
+                "count": 1,
+                "name": gfmc
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.count = d.count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const d2 = LocalStorageManager.getItem(keyStr);
+            let count = d2.count;
+            console.log('zh:logEventForRod_complete_N  count = ' + count);
+            if (count % 5 == 0) {
+                const reqStr = JSON.stringify(jsonStr);
+                JSBridgeUtils.instance.logEventForAdHaveParams('rod_complete_' + d2, reqStr);
+            }
+        }
+        logEventForRod_win() {
+            console.log('zh:logEventForRod_win,胜利');
+            let gfmsIdx = xGame.common.curPlayerSkillType;
+            console.log('zh:logEventForRod_win 选择的技能=' + gfmsIdx);
+            let gfmc = 'Skyfall Shot';
+            if (gfmsIdx == 0) {
+                gfmc = 'Skyfall Shot';
+            }
+            if (gfmsIdx == 1) {
+                gfmc = 'Surging break';
+            }
+            if (gfmsIdx == 2) {
+                gfmc = 'Frost Lock';
+            }
+            let level = DataMgr.getBigSkillByIndex(gfmsIdx);
+            console.log('zh:logEventForRod_win  level = ' + level);
+            let keyStr = 'sjmd_rod_win_' + gfmsIdx;
+            let jsonStr = {
+                "count": 1,
+                "name": gfmc + ' Lev' + level
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.count = d.count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('rod_win', reqStr);
+        }
+        logEventForClassic_win() {
+            console.log('zh:logEventForClassic_win,胜利');
+            let rtype = xGame.common.classicRoomType;
+            let msmc = '';
+            if (rtype == 1) {
+                msmc = 'beginner';
+            }
+            if (rtype == 2) {
+                msmc = 'expert';
+            }
+            if (rtype == 3) {
+                msmc = 'master';
+            }
+            let keyStr = 'sjmd_classic_win_' + rtype;
+            let jsonStr = {
+                "difficulty": msmc,
+                "classic_count": 1,
+                "difficulty_count": 1
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.classic_count = d.classic_count + 1;
+                jsonStr.difficulty_count = d.difficulty_count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('classic_win', reqStr);
+        }
         updatePlaceBallBtn() {
             this.ui.leftBtn.c1.selectedIndex = 5;
             if (this.success) {
@@ -7193,13 +7371,6 @@
                 xGame.soundMgr.playSound("s_win");
                 xGame.common.showGirlTalkPop(8, this.ui.talkNode, this.ui.talkNode.womanTxt);
                 this.diyGameDataUtilForGameWin();
-                let level = xGame.common.placeBallCurLevel;
-                if (level > 59) {
-                    this.logEventForChallenge_level_complete(level);
-                }
-                else {
-                    this.logEventForChallenge_level_N(level);
-                }
             }
             else {
                 JSBridgeUtils.instance.showInternAd('gameend_faill');
@@ -18983,12 +19154,16 @@
                             xGame.uiMgr.Show(UIAddCoin$1);
                         });
                     }
+                    else {
+                        this.logEventForClassic_win();
+                    }
                     this.ui.isGetAward.visible = false;
                     this.ui.leftBtn.c1.selectedIndex = 3;
                     this.ui.rightBtn.c1.selectedIndex = 0;
                     this.moneyNode.ui.c1.selectedIndex = 1;
                     break;
                 case GameMode.bigMove:
+                    console.log('zh:招法模式 aaaaaa   bigMove');
                     this.ui.c1.selectedIndex = this.success ? 0 : 1;
                     this.ui.coinNode.visible = this.success;
                     if (xGame.common.gameMode == GameMode.bigMove) {
@@ -19000,11 +19175,15 @@
                             DataMgr.setSkillSuccessTimes(0, false);
                         }
                     }
+                    this.logEventForRod_complete_N();
                     if (!this.success) {
                         Laya.timer.once(500, this, () => {
                             xGame.uiMgr.Show(UIAddCoin$1);
                         });
                     }
+                    else {
+                        this.logEventForRod_win();
+                    }
                     this.ui.isGetAward.visible = false;
                     this.ui.leftBtn.c1.selectedIndex = 3;
                     this.ui.rightBtn.c1.selectedIndex = 0;
@@ -19019,6 +19198,13 @@
                         else {
                             this.ui.c1.selectedIndex = 3;
                         }
+                        let level = xGame.common.placeBallCurLevel;
+                        if (level > 59) {
+                            this.logEventForChallenge_level_complete(level);
+                        }
+                        else {
+                            this.logEventForChallenge_level_N(level);
+                        }
                     }
                     else {
                         this.ui.c1.selectedIndex = 4;
@@ -19040,6 +19226,105 @@
                     break;
             }
         }
+        logEventForRod_complete_N() {
+            let gfmsIdx = xGame.common.curPlayerSkillType;
+            console.log('zh:logEventForRod_complete_N 选择的技能=' + gfmsIdx);
+            let gfmc = 'Skyfall Shot';
+            if (gfmsIdx == 0) {
+                gfmc = 'Skyfall Shot';
+            }
+            if (gfmsIdx == 1) {
+                gfmc = 'Surging break';
+            }
+            if (gfmsIdx == 2) {
+                gfmc = 'Frost Lock';
+            }
+            let level = DataMgr.getBigSkillByIndex(gfmsIdx);
+            console.log('zh:logEventForRod_complete_N  level = ' + level);
+            let keyStr = 'sjmd_rod_start_' + gfmsIdx;
+            let jsonStr = {
+                "count": 1,
+                "name": gfmc
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.count = d.count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const d2 = LocalStorageManager.getItem(keyStr);
+            let count = d2.count;
+            console.log('zh:logEventForRod_complete_N  count = ' + count);
+            if (count % 5 == 0) {
+                const reqStr = JSON.stringify(jsonStr);
+                JSBridgeUtils.instance.logEventForAdHaveParams('rod_complete_' + d2, reqStr);
+            }
+        }
+        logEventForRod_win() {
+            console.log('zh:logEventForRod_win,胜利');
+            let gfmsIdx = xGame.common.curPlayerSkillType;
+            console.log('zh:logEventForRod_win 选择的技能=' + gfmsIdx);
+            let gfmc = 'Skyfall Shot';
+            if (gfmsIdx == 0) {
+                gfmc = 'Skyfall Shot';
+            }
+            if (gfmsIdx == 1) {
+                gfmc = 'Surging break';
+            }
+            if (gfmsIdx == 2) {
+                gfmc = 'Frost Lock';
+            }
+            let level = DataMgr.getBigSkillByIndex(gfmsIdx);
+            console.log('zh:logEventForRod_win  level = ' + level);
+            let keyStr = 'sjmd_rod_win_' + gfmsIdx;
+            let jsonStr = {
+                "count": 1,
+                "name": gfmc + ' Lev' + level
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.count = d.count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('rod_win', reqStr);
+        }
+        logEventForClassic_win() {
+            console.log('zh:logEventForClassic_win,胜利');
+            let rtype = xGame.common.classicRoomType;
+            let msmc = '';
+            if (rtype == 1) {
+                msmc = 'beginner';
+            }
+            if (rtype == 2) {
+                msmc = 'expert';
+            }
+            if (rtype == 3) {
+                msmc = 'master';
+            }
+            let keyStr = 'sjmd_classic_win_' + rtype;
+            let jsonStr = {
+                "difficulty": msmc,
+                "classic_count": 1,
+                "difficulty_count": 1
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.classic_count = d.classic_count + 1;
+                jsonStr.difficulty_count = d.difficulty_count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('classic_win', reqStr);
+        }
         updatePlaceBallBtn() {
             this.ui.leftBtn.c1.selectedIndex = 5;
             if (this.success) {
@@ -19135,13 +19420,6 @@
                 xGame.soundMgr.playSound("s_win");
                 xGame.common.showGirlTalkPop(8, this.ui.talkNode, this.ui.talkNode.womanTxt);
                 this.diyGameDataUtilForGameWin();
-                let level = xGame.common.placeBallCurLevel;
-                if (level > 59) {
-                    this.logEventForChallenge_level_complete(level);
-                }
-                else {
-                    this.logEventForChallenge_level_N(level);
-                }
             }
             else {
                 JSBridgeUtils.instance.showInternAd('gameend_faill');
@@ -19957,6 +20235,7 @@
             xGame.common.upSkillLevel = true;
         }
         startGame() {
+            console.log('zh:rod skill startgame');
             if (this.data.index == 3) {
                 alert('Coming soon!');
                 return;
@@ -19976,6 +20255,7 @@
                 xGame.common.curPlayerSkillType = this.index;
                 if (guide == 0)
                     xGame.common.curPlayerSkillType = 0;
+                console.log('zh: skilldisplay 1');
                 xGame.uiMgr.Show(UIGame$1);
                 xGame.uiMgr.Hide(UIMain$1);
                 xGame.uiMgr.Show(UIMatching$1, () => {
@@ -19983,12 +20263,43 @@
                     xGame.common.gameUI.startGame();
                     xGame.uiMgr.Hide(UISkill$1);
                 });
+                this.logEventForRod_start();
             }
             else {
+                console.log('zh: skilldisplay 2');
                 xGame.uiMgr.Show(UIAddProp$1, 0);
                 Moyu.sendDataEvent("AddCoinVideo");
             }
         }
+        logEventForRod_start() {
+            let gfmsIdx = xGame.common.curPlayerSkillType;
+            console.log('zh:选择的技能=' + gfmsIdx);
+            let gfmc = 'Skyfall Shot';
+            if (gfmsIdx == 0) {
+                gfmc = 'Skyfall Shot';
+            }
+            if (gfmsIdx == 1) {
+                gfmc = 'Surging break';
+            }
+            if (gfmsIdx == 2) {
+                gfmc = 'Frost Lock';
+            }
+            let keyStr = 'sjmd_rod_start_' + gfmsIdx;
+            let jsonStr = {
+                "count": 1,
+                "name": gfmc
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.count = d.count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('rod_start', reqStr);
+        }
     }
 
     class UISkill$1 extends UIBase {
@@ -21369,6 +21680,7 @@
                 Laya.timer.once(200, this, () => {
                     this.callback && this.callback();
                 });
+                this.logEventForClassic_start();
             }
             else {
                 Moyu.sendDataEvent("AddCoinVideo");
@@ -21379,6 +21691,36 @@
             let rand = this.peopleOffest[index];
             return this.peopleArr[index] + xGame.common.randomNum(-rand, rand);
         }
+        logEventForClassic_start() {
+            let rtype = xGame.common.classicRoomType;
+            let msmc = '';
+            if (rtype == 1) {
+                msmc = 'beginner';
+            }
+            if (rtype == 2) {
+                msmc = 'expert';
+            }
+            if (rtype == 3) {
+                msmc = 'master';
+            }
+            let keyStr = 'sjmd_classic_start_' + rtype;
+            let jsonStr = {
+                "difficulty": msmc,
+                "classic_count": 1,
+                "difficulty_count": 1
+            };
+            if (LocalStorageManager.hasJosnKey(keyStr)) {
+                const d = LocalStorageManager.getItem(keyStr);
+                jsonStr.classic_count = d.classic_count + 1;
+                jsonStr.difficulty_count = d.difficulty_count + 1;
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            else {
+                LocalStorageManager.setItem(keyStr, jsonStr);
+            }
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('classic_start', reqStr);
+        }
     }
     UIModeSelection$1.uiName = "UIModeSelection";
 

文件差異過大導致無法顯示
+ 0 - 0
client/laya/bin/js/bundle.js.map


+ 182 - 8
client/laya/src/ui/UIGameEnd.ts

@@ -51,6 +51,8 @@ export default class UIGameEnd extends UIBase {
                     Laya.timer.once(500, this, () => {
                         xGame.uiMgr.Show(UIAddCoin);
                     })
+                } else {
+                    this.logEventForClassic_win();
                 }
                 this.ui.isGetAward.visible = false;
                 this.ui.leftBtn.c1.selectedIndex = 3;
@@ -59,6 +61,7 @@ export default class UIGameEnd extends UIBase {
                 this.moneyNode.ui.c1.selectedIndex = 1;
                 break;
             case GameMode.bigMove:
+                console.log('zh:招法模式 aaaaaa   bigMove');
                 this.ui.c1.selectedIndex = this.success ? 0 : 1;
                 this.ui.coinNode.visible = this.success;
                 //设置大招版本的连胜数据
@@ -71,11 +74,14 @@ export default class UIGameEnd extends UIBase {
                         DataMgr.setSkillSuccessTimes(0, false);
                     }
                 }
+                this.logEventForRod_complete_N();
                 //
                 if (!this.success) {
                     Laya.timer.once(500, this, () => {
                         xGame.uiMgr.Show(UIAddCoin);
                     })
+                } else {
+                    this.logEventForRod_win();
                 }
                 this.ui.isGetAward.visible = false;
                 this.ui.leftBtn.c1.selectedIndex = 3;
@@ -92,6 +98,12 @@ export default class UIGameEnd extends UIBase {
                     else {
                         this.ui.c1.selectedIndex = 3;
                     }
+                    let level = xGame.common.placeBallCurLevel;
+                    if (level > 59) {//==60
+                        this.logEventForChallenge_level_complete(level);
+                    } else {
+                        this.logEventForChallenge_level_N(level);
+                    }
                 }
                 else {
                     this.ui.c1.selectedIndex = 4;
@@ -118,6 +130,174 @@ export default class UIGameEnd extends UIBase {
                 break;
         }
     }
+
+
+
+    /**
+     *  埋点  Rod_complete_N
+     *
+     */
+    logEventForRod_complete_N() {
+        let gfmsIdx = xGame.common.curPlayerSkillType;
+        console.log('zh:logEventForRod_complete_N 选择的技能=' + gfmsIdx);
+        let gfmc = 'Skyfall Shot';
+        if (gfmsIdx == 0) {
+            gfmc = 'Skyfall Shot';
+        }
+        if (gfmsIdx == 1) {
+            gfmc = 'Surging break';
+        }
+        if (gfmsIdx == 2) {
+            gfmc = 'Frost Lock';
+        }
+
+
+        let level = DataMgr.getBigSkillByIndex(gfmsIdx);
+        //若满级就不能再提示等级了  10 级 =满级
+        //this.ui.c1.selectedIndex = level >= xGame.common.maxSkillLevel
+        console.log('zh:logEventForRod_complete_N  level = ' + level);
+
+        //             // - 子模式名称
+        // - 开始了几次rod模式  // {"name":"fall from the sky lv.1","count  ":"398"}
+        let keyStr = 'sjmd_rod_start_' + gfmsIdx;
+        let jsonStr = {
+            "count": 1,
+            "name": gfmc
+        }
+        if (LocalStorageManager.hasJosnKey(keyStr)) {
+            const d = LocalStorageManager.getItem<{ count: number, name: string }>(keyStr);
+            jsonStr.count = d.count + 1;
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        } else {
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        }
+        const d2 = LocalStorageManager.getItem<{ count: number, name: string }>(keyStr);
+        let count = d2.count;
+        console.log('zh:logEventForRod_complete_N  count = ' + count);
+        if (count % 5 == 0) {
+            const reqStr = JSON.stringify(jsonStr);
+            JSBridgeUtils.instance.logEventForAdHaveParams('rod_complete_' + d2, reqStr);
+        }
+
+
+
+    }
+
+
+    /**
+   *  
+   * 埋点  Rod_complete_N
+   *
+   */
+    logEventForRod_win() {
+
+        console.log('zh:logEventForRod_win,胜利');
+        //         - 子模式名称
+        // - rod模式赢了几次
+        // {"name":"fall from the sky lv.1","count  ":"398"}
+
+        let gfmsIdx = xGame.common.curPlayerSkillType;
+        console.log('zh:logEventForRod_win 选择的技能=' + gfmsIdx);
+        let gfmc = 'Skyfall Shot';
+        if (gfmsIdx == 0) {
+            gfmc = 'Skyfall Shot';
+        }
+        if (gfmsIdx == 1) {
+            gfmc = 'Surging break';
+        }
+        if (gfmsIdx == 2) {
+            gfmc = 'Frost Lock';
+        }
+
+        let level = DataMgr.getBigSkillByIndex(gfmsIdx);
+        //若满级就不能再提示等级了  10 级 =满级
+        //this.ui.c1.selectedIndex = level >= xGame.common.maxSkillLevel
+        console.log('zh:logEventForRod_win  level = ' + level);
+
+        //             // - 子模式名称
+        // - 开始了几次rod模式  // {"name":"fall from the sky lv.1","count  ":"398"}
+        let keyStr = 'sjmd_rod_win_' + gfmsIdx;
+        let jsonStr = {
+            "count": 1,
+            "name": gfmc + ' Lev' + level
+        }
+        if (LocalStorageManager.hasJosnKey(keyStr)) {
+            const d = LocalStorageManager.getItem<{ count: number, name: string }>(keyStr);
+            jsonStr.count = d.count + 1;
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        } else {
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        }
+        // const d2 = LocalStorageManager.getItem<{ count: number, name: string }>(keyStr);
+        // let count = d2.count;
+        //console.log('zh:logEventForRod_win  count = ' + count);
+        // if (count % 5 == 0) {
+        // }
+        const reqStr = JSON.stringify(jsonStr);
+        JSBridgeUtils.instance.logEventForAdHaveParams('rod_win', reqStr);
+
+
+    }
+
+
+
+
+
+    /**
+ *  
+ * 埋点  classic_win
+ *
+ */
+    logEventForClassic_win() {
+
+        console.log('zh:logEventForClassic_win,胜利');
+        //     classic模式胜利
+        // - 难度等级
+        // - 当前是第几次classic胜利
+        // - 当前是第几次该难度胜利
+        // {"difficulty":"expert","classic_count  ":"398","difficulty_count":"200"}
+
+        let rtype = xGame.common.classicRoomType;
+        let msmc = '';
+        if (rtype == 1) {
+            msmc = 'beginner';
+        }
+        if (rtype == 2) {
+            msmc = 'expert';
+        }
+        if (rtype == 3) {
+            msmc = 'master';
+        }
+
+        //  classic模式开始
+        // - 难度等级
+        // - 当前是第几次开始classic
+        // - 当前是第几次开始该难度
+        // {"difficulty":"expert","classic_count  ":"398","difficulty_count":"200"}
+        let keyStr = 'sjmd_classic_win_' + rtype;
+        let jsonStr = {
+            "difficulty": msmc,
+            "classic_count": 1,
+            "difficulty_count": 1
+        }
+
+        if (LocalStorageManager.hasJosnKey(keyStr)) {
+            const d = LocalStorageManager.getItem<{ classic_count: number, difficulty_count: number, difficulty: string }>(keyStr);
+            jsonStr.classic_count = d.classic_count + 1;
+            jsonStr.difficulty_count = d.difficulty_count + 1;
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        } else {
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        }
+        const reqStr = JSON.stringify(jsonStr);
+        JSBridgeUtils.instance.logEventForAdHaveParams('classic_win', reqStr);
+
+
+    }
+
+
+
+
     updatePlaceBallBtn() {
         this.ui.leftBtn.c1.selectedIndex = 5;
         if (this.success) {
@@ -227,12 +407,6 @@ export default class UIGameEnd extends UIBase {
 
             this.diyGameDataUtilForGameWin();
 
-            let level = xGame.common.placeBallCurLevel;
-            if (level > 59) {//==60
-                this.logEventForChallenge_level_complete(level);
-            } else {
-                this.logEventForChallenge_level_N(level);
-            }
 
         }
         else {
@@ -603,7 +777,7 @@ export default class UIGameEnd extends UIBase {
      * @param level 
      */
     logEventForChallenge_level_N(level) {
-        console.log('zh:logEventForChallenge_level_N '+level);
+        console.log('zh:logEventForChallenge_level_N ' + level);
         // 埋点:challenge模式完成 - 完成了几次- 金币数量- 当前是第几关 - 钻石数量
         let keyStr = 'sjmd_challenge_level_N';
         if (LocalStorageManager.hasKey(keyStr)) {
@@ -616,7 +790,7 @@ export default class UIGameEnd extends UIBase {
                 console.log('zh:每5关上报1次')
                 let sjmc = 'challenge_level_' + level;
                 JSBridgeUtils.instance.logEventForAdNoParams(sjmc);
-            }else{
+            } else {
                 console.log('zh:5 no 上报')
             }
 

+ 13 - 1
client/laya/src/ui/UIMain.ts

@@ -22,7 +22,7 @@ import UISkill from "./UISkill";
 import UIMsg from "./UIMsg";
 import UIModeSelection from "./UIModeSelection";
 import GlobalManager from "../utils/GlobalManager";
-import JSBridgeUtils from "../utils/JSBridgeUtils"; // 根据你的目录结构调整路径
+import JSBridgeUtils from "../utils/JSBridgeUtils"; 
 import SkillDisplay from "./item/SkillDisplay";
 
 import UITry from "./UITry";
@@ -33,6 +33,12 @@ import UIBox from "./UIBox";
 import UIAddCoin from "./UIAddCoin";
 import { NoInternetDialog } from "./NoInternetDialog";
 //import NetCheckTool from "../utils/NetCheckTool";
+
+
+import { LocalStorageManager } from "../utils/LocalStorageManager";
+
+
+
 export default class UIMain extends UIBase {
     public ui: ui_UIMain;
     //
@@ -423,6 +429,7 @@ export default class UIMain extends UIBase {
         }
     }
     enterClassic() {
+      
         xGame.uiMgr.Show(UIGame);
         xGame.uiMgr.Show(UIMatching, () => {
             if (!this.isHide) this.hide();
@@ -431,6 +438,11 @@ export default class UIMain extends UIBase {
             xGame.uiMgr.Hide(UIGameEnd);
         });
     }
+
+
+
+
+
     startGlobal() {
         xGame.uiMgr.Show(UIMsg, "Coming Soon")
         //xGame.uiMgr.Show(UITry);

+ 57 - 0
client/laya/src/ui/UIModeSelection.ts

@@ -4,6 +4,11 @@ import UIBase from "../fgui/core/UIBase";
 import ui_UIModeSelection from "../fgui/res/game/ui_UIModeSelection";
 import { xGame } from "../xGame";
 import UIAddProp from "./UIAddProp";
+
+import JSBridgeUtils from "../utils/JSBridgeUtils";
+import { LocalStorageManager } from "../utils/LocalStorageManager";
+
+
 export default class UIModeSelection extends UIBase {
     protected ui: ui_UIModeSelection;
     //
@@ -47,12 +52,18 @@ export default class UIModeSelection extends UIBase {
         let need = cfg.need;
         xGame.common.passAwardCoin = cfg.award;
         if (DataMgr.coinEnough(need)) {
+
             DataMgr.setCoin(-need);
             //进入游戏
             this.ui.myNode["type" + type].t0.play();
             Laya.timer.once(200, this, () => {
                 this.callback && this.callback();
             })
+
+            this.logEventForClassic_start();
+
+
+
         }
         else {
             Moyu.sendDataEvent("AddCoinVideo");
@@ -61,7 +72,53 @@ export default class UIModeSelection extends UIBase {
     }
     getRandPeople(index) {
         let rand = this.peopleOffest[index];
+        //zh:todo:随机增加X个数字
         return this.peopleArr[index] + xGame.common.randomNum(-rand, rand);
     }
+
+
+
+    /**
+     *  埋点classic_start 
+     * @param level 
+     */
+    logEventForClassic_start() {
+        let rtype = xGame.common.classicRoomType;
+        let msmc = '';
+        if (rtype == 1) {
+            msmc = 'beginner';
+        }
+        if (rtype == 2) {
+            msmc = 'expert';
+        }
+        if (rtype == 3) {
+            msmc = 'master';
+        }
+
+        //  classic模式开始
+        // - 难度等级
+        // - 当前是第几次开始classic
+        // - 当前是第几次开始该难度
+        // {"difficulty":"expert","classic_count  ":"398","difficulty_count":"200"}
+        let keyStr = 'sjmd_classic_start_' + rtype;
+        let jsonStr = {
+            "difficulty": msmc,
+            "classic_count": 1,
+            "difficulty_count": 1
+        }
+        if (LocalStorageManager.hasJosnKey(keyStr)) {
+            const d = LocalStorageManager.getItem<{ classic_count: number, difficulty_count: number, difficulty: string }>(keyStr);
+            jsonStr.classic_count = d.classic_count + 1;
+            jsonStr.difficulty_count = d.difficulty_count + 1;
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        } else {
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        }
+        const reqStr = JSON.stringify(jsonStr);
+        JSBridgeUtils.instance.logEventForAdHaveParams('classic_start', reqStr);
+    }
+
+
+
 }
 UIModeSelection.uiName = "UIModeSelection";

+ 54 - 6
client/laya/src/ui/item/SkillDisplay.ts

@@ -11,6 +11,8 @@ import UISkill from "../UISkill";
 import GlobalManager from "../../utils/GlobalManager";
 import JSBridgeUtils from "../../utils/JSBridgeUtils";
 
+import { LocalStorageManager } from "../../utils/LocalStorageManager";
+
 export default class SkillDisplay {
     public ui: ui_skillItem;
     //
@@ -111,6 +113,7 @@ export default class SkillDisplay {
 
 
     startGame() {
+        console.log('zh:rod skill startgame');
         //如果是关公刀法就提示返回
         if (this.data.index == 3) {
             alert('Coming soon!')
@@ -118,12 +121,10 @@ export default class SkillDisplay {
         }
 
 
-
-
         xGame.soundMgr.playSound(xGame.common.btnClickStr);
         let needCoin = xGame.common.bigMoveNeedCoin;
         xGame.common.passAwardCoin = 2000;
-        let guide = DataMgr.getSkillGuide();
+        let guide = DataMgr.getSkillGuide();//新手引导
         console.log('zh:startGame guide=' + guide)
 
         xGame.common.temSelfLevel = 0;
@@ -133,9 +134,10 @@ export default class SkillDisplay {
         }
         if (DataMgr.coinEnough(needCoin)) {
             DataMgr.setCoin(-needCoin);
-            xGame.common.curPlayerSkillType = this.index;
+            xGame.common.curPlayerSkillType = this.index;//所选择的技能类型
             if (guide == 0) xGame.common.curPlayerSkillType = 0;
             //开始大招模式游戏
+            console.log('zh: skilldisplay 1');
             xGame.uiMgr.Show(UIGame);
             xGame.uiMgr.Hide(UIMain);
             xGame.uiMgr.Show(UIMatching, () => {
@@ -143,12 +145,58 @@ export default class SkillDisplay {
                 xGame.common.gameUI.startGame();
                 xGame.uiMgr.Hide(UISkill);
             });
-        }
-        else {
+
+
+            this.logEventForRod_start();
+
+
+        } else {
+            console.log('zh: skilldisplay 2');
             xGame.uiMgr.Show(UIAddProp, 0);
             Moyu.sendDataEvent("AddCoinVideo");
         }
     }
+
+
+
+
+    /**
+     *  埋点rod_start   
+     * @param level 
+     */
+    logEventForRod_start() {
+        let gfmsIdx = xGame.common.curPlayerSkillType;
+        console.log('zh:选择的技能='+gfmsIdx);
+        let gfmc = 'Skyfall Shot';
+        if (gfmsIdx == 0) {
+            gfmc = 'Skyfall Shot';
+        }
+        if (gfmsIdx == 1) {
+            gfmc = 'Surging break';
+        }
+        if (gfmsIdx == 2) {
+            gfmc = 'Frost Lock';
+        }
+
+        //             // - 子模式名称
+        // - 开始了几次rod模式  // {"name":"fall from the sky lv.1","count  ":"398"}
+        let keyStr = 'sjmd_rod_start_'+gfmsIdx;
+        let jsonStr = {
+            "count": 1,
+            "name": gfmc
+        }
+        if (LocalStorageManager.hasJosnKey(keyStr)) {
+            const d = LocalStorageManager.getItem<{ count: number, name: string }>(keyStr);
+            jsonStr.count = d.count + 1;
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        } else {
+            LocalStorageManager.setItem(keyStr, jsonStr);
+        }
+        const reqStr = JSON.stringify(jsonStr);
+        JSBridgeUtils.instance.logEventForAdHaveParams('rod_start', reqStr);
+    }
+
+
 }
 interface skillData {
 

部分文件因文件數量過多而無法顯示