Bladeren bron

开局增加 免费次数

woso_javan 1 maand geleden
bovenliggende
commit
171f3f22f8

+ 10 - 0
assets/module_aliens/Prefabs/UI/Gambit/UI_BattleGambit_Impl.ts

@@ -6,6 +6,8 @@ import { Layout_BattleGambit } from './Layout_BattleGambit';
 import { EventDispatcher } from 'db://assets/core_tgx/easy_ui_framework/EventDispatcher';
 import { GlobalConfig } from 'db://assets/start/Config/GlobalConfig';
 import { AdvertMgr } from 'db://assets/core_tgx/base/ad/AdvertMgr';
+import { UserManager } from '../../../Script/Manager/UserMgr';
+import { GameEvent } from '../../../Script/Enum/GameEvent';
 const { ccclass, property } = _decorator;
 
 @ccclass('UI_BattleGambit_Impl')
@@ -27,6 +29,7 @@ export class UI_BattleGambit_Impl extends UI_BattleGambit {
 
                 })
             } else {
+                this.addFreeCount(); 
                 this.hide();
             }
         });
@@ -34,6 +37,13 @@ export class UI_BattleGambit_Impl extends UI_BattleGambit {
             this.hide();
         });
     }
+
+    //增加情报和侦探免费次数
+    private addFreeCount() {
+        UserManager.instance.addFreeScreenShotCount(1);
+        UserManager.instance.addRadarFreeCount(1);
+        EventDispatcher.instance.emit(GameEvent.EVENT_REFRESH_PLAYER_INFO); //刷新ui
+    }
 }
 
 tgxModuleContext.attachImplClass(UI_BattleGambit, UI_BattleGambit_Impl);

+ 27 - 3
assets/module_aliens/Script/BattleUI.ts

@@ -5,6 +5,8 @@ import { tgxUIMgr } from '../../core_tgx/tgx';
 import { UI_BattleGambit } from '../../scripts/UIDef';
 import { EventDispatcher } from '../../core_tgx/easy_ui_framework/EventDispatcher';
 import { GameEvent } from './Enum/GameEvent';
+import { GlobalConfig } from '../../start/Config/GlobalConfig';
+import { AdvertMgr } from '../../core_tgx/base/ad/AdvertMgr';
 const { ccclass, property } = _decorator;
 
 @ccclass('BattleUI')
@@ -62,12 +64,34 @@ export class BattleUI extends Component {
     }
 
     private onScreenShot(){
-        EventDispatcher.instance.emit(GameEvent.EVENT_CAMERA_SCREENSHOT);
+        this.useAbility(
+            UserManager.instance.userModel.freeScreenShotCount,
+            (count) => UserManager.instance.reduceFreeScreenShotCount(count),
+            GameEvent.EVENT_CAMERA_SCREENSHOT
+        );
     }
 
     private onRadar(){
-        console.log('侦擦');
-        EventDispatcher.instance.emit(GameEvent.EVENT_CAMERA_SCREENSHOT_RADAR); 
+        this.useAbility(
+            UserManager.instance.userModel.radarFreeCount,
+            (count) => UserManager.instance.reduceRadarFreeCount(count),
+            GameEvent.EVENT_CAMERA_SCREENSHOT_RADAR
+        );
+    }
+
+    private useAbility(freeCount: number,reduceFn: (count: number) => void,eventName: string) {
+        if(freeCount <= 0) {
+            if (!GlobalConfig.isDebug) {
+                AdvertMgr.instance.showReawardVideo(() => {
+                    EventDispatcher.instance.emit(eventName);
+                });
+            } else {
+                EventDispatcher.instance.emit(eventName);
+            }
+        } else {
+            reduceFn(1);
+            EventDispatcher.instance.emit(eventName);
+        }
     }
 
     private unregisterListener() {