future 11 ヶ月 前
コミット
1be4b74213

ファイルの差分が大きいため隠しています
+ 187 - 148
assets/resources/ui/home.prefab


+ 2 - 1
assets/script/config.ts

@@ -158,6 +158,8 @@ export class config  {
     }
 
     public static UI_EVENT ={
+        HOME_DID_BECOME_ACTIVE:"home_did_become_active",
+        HOME_DID_BECOME_INACTIVE:"home_did_become_inactive",
         GAME_OVER_SETTLE_ACCOUNT:"game_over_settle_account",
         GET_NEW_CAR:"get_new_car",
         UPDATE_USER_DEFAULT_CAR:"update_user_default_car",
@@ -165,7 +167,6 @@ export class config  {
         UPDATE_USER_INFO:"update_user_info",
         UPDATE_RED_DOT_STATUS:"update_red_dot_status",
         UPDATE_GAME_FREE_COUNT:"update_game_free_count",
-        HIDE_HOME_MORE_VIEW:"hide_home_more_view",
     }
     
     public static EVENT_TYPE = {

+ 93 - 1
assets/script/sdkUtil.ts

@@ -21,11 +21,12 @@ export class SdkUtil {
 
     public static videoAd:any =null;
     public static isLookAd:boolean = false; //是否在看广告
+    public static gridGamePanel = null; //互推游戏组件
 
+    public static tt_systemInfo: any = null;  //抖音_系统信息
     public static wx_systemInfo:any = null;   //微信_系统信息
     public static ks_systemInfo:any = null;   //ks_系统信息
 
-    public static tt_systemInfo: any = null;                //抖音_系统信息
     private static tt_isSupportSidebar:boolean = false;     //抖音_是否支持侧边栏
     private static tt_isToEnterFromSidebar:boolean = false; //抖音_是否从侧边栏进入
 
@@ -56,6 +57,7 @@ export class SdkUtil {
         
         this.getSystemInfo(()=> {
             this.ttRegisterInfo()
+            this.registerGridGamePanel()
         })
     }
 
@@ -96,6 +98,20 @@ export class SdkUtil {
         }
     }
 
+     // 是否平台开发工具
+     public static is_devtools_platform():boolean {
+        if(SdkUtil.tt_systemInfo&&SdkUtil.tt_systemInfo.platform=='devtools') {
+            return true
+        }
+        if(SdkUtil.wx_systemInfo&&SdkUtil.wx_systemInfo.platform=='devtools') {
+            return true
+        }
+        if(SdkUtil.ks_systemInfo&&SdkUtil.ks_systemInfo.platform=='devtools') {
+            return true
+        }
+        return false
+    }
+
     // 自定义事件统计
     public static customEventStatistics(eventType: string, objParams?: any) {
         eventType = eventType.toString();
@@ -629,6 +645,82 @@ export class SdkUtil {
         }
     }
 
+    // 注册游戏互推组件
+    public static registerGridGamePanel() {
+        if(SdkUtil.is_devtools_platform()==true) { return }
+
+        switch (tools.platform) {
+            case config.Platform.TT:
+                try{
+                    let height = SdkUtil.tt_systemInfo.safeArea.bottom
+                    let gridGamePanel_top = 575
+                    if(height) { gridGamePanel_top = height - 230 }
+                    // console.log('gridGamePanel_top=',gridGamePanel_top)
+                    // 单宫格gridCount: "one",可设置大小和位置 size:"large",position:{top:700,left:20},
+                    // 四宫格gridCount: "four",可设置大小,设置位置无实际作用 size:"large"
+                    // 九宫格gridCount: "nine",设置大小和位置无实际作用
+                    const gridGamePanel = tt.createGridGamePanel({
+                        gridCount: "one", 
+                        size:"large",
+                        position:{top:gridGamePanel_top,left:10},
+                        query: {
+                            'tte54693fb7a75fa0f02': "", //神秘的笔记
+                        },
+                    });
+                    SdkUtil.gridGamePanel = gridGamePanel
+                } catch(error) {
+                    console.log('error=',error)
+                }
+
+                break;
+            case config.Platform.WX:
+                break;
+            case config.Platform.KS:
+                break;
+            default:
+                break;
+        }
+    }
+
+    // 显示游戏互推组件
+    public static showGridGamePanel() {
+        if(SdkUtil.is_devtools_platform()==true) { return }
+        if(!SdkUtil.gridGamePanel) {return}
+
+        switch (tools.platform) {
+            case config.Platform.TT:
+                SdkUtil.gridGamePanel.show().then(() => {
+                    console.log("tt 展示游戏推荐组件成功");
+                }).catch((err) => {
+                    console.error("展示游戏推荐组件失败", err);
+                });
+                break;
+            case config.Platform.WX:
+                break;
+            case config.Platform.KS:
+                break;
+            default:
+                break;
+        }
+    }
+
+    // 隐藏互推游戏组件
+    public static hideGridGamePanel() {
+        if(SdkUtil.is_devtools_platform()==true) { return }
+        if(!SdkUtil.gridGamePanel) {return}
+        switch (tools.platform) {
+            case config.Platform.TT:
+                SdkUtil.gridGamePanel.hide()
+                break;
+            case config.Platform.WX:
+                break;
+            case config.Platform.KS:
+                break;
+            default:
+                break;
+        }
+    }
+
     //------------------------------  微信相关  ------------------------------//
 
     // 微信检查授权用户信息

+ 2 - 0
assets/script/ui/bag/bag.ts

@@ -6,6 +6,7 @@ import { bag_list_item_data, bag_type_item_data } from '../../data';
 import { bag_type_item } from './bag_type_item';
 import { bag_list_page } from './bag_list_page';
 import { GameManager } from '../../GameManager';
+import { ClientEvent } from '../../lib/clientEvent';
 const { ccclass, property } = _decorator;
 
 @ccclass('bag')
@@ -25,6 +26,7 @@ export class bag extends Component {
     start() {
         uiManager.Instance().onButtonListen(this.btn_back, ()=>{
             this.close()
+            ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_ACTIVE)
         })
 
         this.list_bg.active = false

+ 1 - 0
assets/script/ui/car_lib/car_lib.ts

@@ -21,6 +21,7 @@ export class car_lib extends base_ui {
         this.onButtonListen(this.btn_back, ()=>{
             this.syncUserSetDefaultCar()
             this.close()
+            ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_ACTIVE)
         })
 
         this.initData()

+ 18 - 5
assets/script/ui/home/home.ts

@@ -10,6 +10,7 @@ import { userDataManager } from '../../manager/userDataManager';
 import { user_results } from '../../data';
 import { GameManager } from '../../GameManager';
 import { home_modules } from './home_modules';
+import { SdkUtil } from '../../sdkUtil';
 const { ccclass, property } = _decorator;
 
 @ccclass('home')
@@ -25,20 +26,25 @@ export class home extends Component {
             GameManager.checkPlayGame(this.node,()=>{
                 tools.playGame(()=>{
                     this.node.parent.active = true
+                    ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_ACTIVE)
                 })
                 this.node.parent.active = false
+                ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_INACTIVE)
             })
         })
 
+        ClientEvent.on(config.UI_EVENT.HOME_DID_BECOME_ACTIVE,this.homeDidBecomeActive.bind(this),this)
+        ClientEvent.on(config.UI_EVENT.HOME_DID_BECOME_INACTIVE,this.homeDidBecomeInactive.bind(this),this)
         ClientEvent.on(config.UI_EVENT.UPDATE_GAME_FREE_COUNT,this.onUpdateGameFreeCount.bind(this),this)
         ClientEvent.on(config.UI_EVENT.GAME_OVER_SETTLE_ACCOUNT,this.onGameOverSettleAccount.bind(this),this)
         ClientEvent.on(config.UI_EVENT.GET_NEW_CAR,this.onGetNewCar.bind(this),this)
-        ClientEvent.on(config.UI_EVENT.HIDE_HOME_MORE_VIEW,this.onHideHomeMoreView.bind(this),this)
         ClientEvent.on(config.UI_EVENT.UPDATE_USER_DEFAULT_CAR,this.onUpdateUserDefaultCar.bind(this),this)
         ClientEvent.on(config.UI_EVENT.UPDATE_USER_INFO,this.onUpdateUserInfo.bind(this),this)
         ClientEvent.on(config.UI_EVENT.UPDATE_USER_AVATAR_BORDER,this.onUpdateUserAvatarBorder.bind(this),this)
         ClientEvent.on(config.UI_EVENT.UPDATE_RED_DOT_STATUS,this.onUpdateRedDotStatus.bind(this),this)
         ClientEvent.on(config.EVENT_TYPE.MSG_DATA,this.onMsgData.bind(this),this)
+
+        SdkUtil.showGridGamePanel()
     }
 
     public init(){
@@ -48,6 +54,17 @@ export class home extends Component {
         this.modules.getComponent(home_modules).init()
     }
 
+    homeDidBecomeActive() {
+        // console.log('home 活跃的 活跃的 活跃的')
+        SdkUtil.showGridGamePanel()
+    }
+
+    homeDidBecomeInactive() {
+        // console.log('home 不活跃的 不活跃的 不活跃的')
+        this.modules.getComponent(home_modules).hideGengduoView()
+        SdkUtil.hideGridGamePanel()
+    }
+
     onUpdateGameFreeCount() {
         this.bottom.getComponent(home_bottom).reloadGameFreeCount()
     }
@@ -74,10 +91,6 @@ export class home extends Component {
         this.bottom.getComponent(home_bottom).checkIsMineCountryRank()
     }
 
-    onHideHomeMoreView() {
-        this.modules.getComponent(home_modules).hideGengduoView()
-    }
-
     onUpdateUserDefaultCar() {
         // 更新首页车
         this.home_car.getComponent(home_car).updateCar()

+ 1 - 1
assets/script/ui/home/home_bottom.ts

@@ -45,7 +45,7 @@ export class home_bottom extends Component {
                     this.reloadCountryRankData(d_content)
                 })
                 this.node.parent.active = true
-                ClientEvent.dispatchEvent(config.UI_EVENT.HIDE_HOME_MORE_VIEW)
+                ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_INACTIVE)
             })
         })
         uiManager.Instance().onButtonListen(this.btn_wuxiancishu, ()=>{

+ 1 - 1
assets/script/ui/home/home_car.ts

@@ -16,7 +16,7 @@ export class home_car extends base_ui {
             uiManager.Instance().showUi(config.UI.car_lib, null, ()=>{
                 this.node.parent.active = true
             })
-            ClientEvent.dispatchEvent(config.UI_EVENT.HIDE_HOME_MORE_VIEW)
+            ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_INACTIVE)
         })
     }
 

+ 3 - 0
assets/script/ui/home/home_modules.ts

@@ -5,6 +5,7 @@ import { config } from '../../config';
 import { home_modules_more } from './home_modules_more';
 import { tools } from '../../tools';
 import { userDataManager } from '../../manager/userDataManager';
+import { ClientEvent } from '../../lib/clientEvent';
 const { ccclass, property } = _decorator;
 
 @ccclass('home_modules')
@@ -33,6 +34,7 @@ export class home_modules extends base_ui {
             uiManager.Instance().showUi(config.UI.car_lib, null, ()=>{
                 this.node.parent.active = true
                 this.hideGengduoView()
+                ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_INACTIVE)
             })
         })
         this.onButtonListen(this.btn_beibao, ()=>{
@@ -40,6 +42,7 @@ export class home_modules extends base_ui {
             uiManager.Instance().showUi(config.UI.bag, null, ()=>{
                 this.node.parent.active = true
                 this.hideGengduoView()
+                ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_INACTIVE)
             })
         })
         this.node_gengduo.active = false

+ 2 - 0
assets/script/ui/rank/rank.ts

@@ -7,6 +7,7 @@ import { userDataManager } from '../../manager/userDataManager';
 import { GameManager } from '../../GameManager';
 import { rank_classify } from './rank_classify';
 import { config } from '../../config';
+import { ClientEvent } from '../../lib/clientEvent';
 const { ccclass, property } = _decorator;
 
 @ccclass('rank')
@@ -29,6 +30,7 @@ export class rank extends Component {
     start() {
         uiManager.Instance().onButtonListen(this.btn_back, ()=>{
             this.close()
+            ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_ACTIVE)
         })
         uiManager.Instance().onButtonListen(this.btn_quarter_box, ()=>{
             uiManager.Instance().showUi(config.UI.ui_quarter_rank_view)

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません