using System; using System.Collections.Generic; using System.Linq; using FairyGUI; using UnityEngine; using UnityEngine.EventSystems; using BingoBrain; using DG.Tweening; using BingoBrain; using BingoBrain.Core; using BingoBrain.HotFix; using Unity.VisualScripting.FullSerializer; using Unity.VisualScripting; using Newtonsoft.Json; using System.Collections; namespace DontConfuse { public class SdkManager : MonoBehaviour { private static SdkManager _instance; // 供外部调用的公共属性 public static SdkManager Instance { get { // 如果实例为空,尝试在场景中寻找已经挂载的脚本 if (_instance == null) { _instance = FindFirstObjectByType(); if (_instance == null) { Debug.LogError("场景中没有找到挂载 SdkManager 的物体!请确保场景中有一个 GameObject 挂载了该脚本。"); } } return _instance; } } private void Awake() { // 当场景加载时,如果 _instance 还没赋值,就由挂载在物体上的自己来赋值 if (_instance == null) { _instance = this; DontDestroyOnLoad(gameObject); // 可选:如果跨场景不想被销毁,加上这行 } else if (_instance != this) { // 防止场景里不小心挂载了多个 SdkManager, secondary 实例直接销毁,保证单例唯一 Destroy(gameObject); } } public void OpenWv() { // Debug.Log("[WebviewManager] SetPadding"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.OpenWv(); #endif } public void SetPadding(float left, float top, float right, float bottom) { // Debug.Log("[WebviewManager] SetPadding"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.SetPadding(left, top, right, bottom); #endif } public void SetDarkThough(bool though) { if (!GameHelper.IsGiftSwitch()) return; #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.SetDarkThough(though); #endif } public void SetBtn(int left, int top, int right, int bottom) { // Debug.Log("[WebviewManager] SetBtn"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.SetBtn(left, top, right, bottom); #endif } public void addH5Field(int field1, int field2, int field3, int field4, int field5, string field6, string field7, string dark_url, string light_url, bool is_gift, string web_through_str, string click_add_time) { #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.addH5Field(field1,field2,field3,field4,field5,field6,field7,dark_url,light_url,is_gift,web_through_str,click_add_time); #endif } public void ShowH5View(bool flag) { // Debug.Log("[WebviewManager] SetCTEnable"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.ShowH5View(flag); #endif } public void SetIconProgress(float val) { // Debug.Log("[WebviewManager] SetCTEnable"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.SetIconProgress(val); #endif } public void ShowFlyBtn(bool flag) { // Debug.Log("[WebviewManager] SetCTEnable"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.ShowFlyBtn(flag); #endif } public void setFlyBtnTag(bool flag) { // Debug.Log($"[WebviewManager] setFlyBtnTag ---{flag}"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.setFlyBtnTag(flag); #endif } public void setRewardBtnTag(bool flag) { // Debug.Log($"[WebviewManager] setRewardBtnTag--- {flag}"); #if UNITY_IOS && !UNITY_EDITOR BrigdeIOS.setRewardBtnTag(flag); #endif } public void ObjC_TouchClick(string name) { // Debug.Log("Touch click: " + name); GameDispatcher.Instance.Dispatch(BingoInfo.H5ViewClickBtn, name); } public void H5AutoRefresh(string string_xcode) { if (string_xcode.Contains("|h5")) { string[] _string_arr = string_xcode.Split("|"); if (_string_arr.Length >= 2) { for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count; i++) { if (ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].url == _string_arr[0]) { light_restoredList[i]++; string str = string.Join(",", light_restoredList); PlayerPrefs.SetString("Dailyrefreshnum", str); break; } } H5sendClass info = new H5sendClass() { link = _string_arr[0], type = "h5" }; NetworkKit_sdk.PostWithHeader("event/h5Impressions", info, (isSuccess, obj) => { if (isSuccess) { Debug.Log("发送成功" + _string_arr[0]); } }); } } else if (string_xcode.Contains("|h6")) { string[] _string_arr = string_xcode.Split("|"); if (_string_arr.Length >= 2) { for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; i++) { for (int j = 0; j < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links.Count; j++) { if (ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].url == _string_arr[0]) { dark_restoredList[i][j]++; PlayerPrefs.SetString("Darkrefreshnum", string.Join(";", dark_restoredList.Select(row => string.Join(",", row)))); break; } } } H5sendClass info = new H5sendClass() { link = _string_arr[0], type = "h6" }; NetworkKit_sdk.PostWithHeader("event/h5Impressions", info, (isSuccess, obj) => { if (isSuccess) { Debug.Log("发送成功" + _string_arr[0]); } }); } } } private GList select_glist; private float select_glist_y; public void TouchClickPoint(string name) { // Debug.Log("TouchClickPoint" + name); if (name == null) return; if (name == "flyBtn") { NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.fly_ct_number, 1); //NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior,BuriedPointEvent.fly_ct_people,1); } if (name == "rewardBtn") { NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.annular_ct_number, 1); //NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior,BuriedPointEvent.annular_ct_people,1); } if (name == "finish") { NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.annular_finish_number, 1); } } List light_restoredList; List> dark_restoredList; public void RefreshUrl() { string Dailyrefresh_reamain = ""; int last_time = PlayerPrefs.GetInt("Dayreftimes", 0); DateTime today = DateTime.Now; int newDays = today.Day; string light_refresh_str = PlayerPrefs.GetString("Dailyrefreshnum", ""); if (string.IsNullOrEmpty(light_refresh_str)) { light_restoredList = new List(); } else { light_restoredList = light_refresh_str.Split(',').Select(int.Parse).ToList(); } if (light_restoredList.Count < ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count) { int targetCount = ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count; for (int i = light_restoredList.Count; i < targetCount; i++) { light_restoredList.Add(0); } } if (last_time == newDays) { } else { for (int i = 0; i < light_restoredList.Count; i++) { light_restoredList[i] = 0; } string str = string.Join(",", light_restoredList); PlayerPrefs.SetString("Dailyrefreshnum", str); PlayerPrefs.SetInt("Dayreftimes", newDays); } int dark_last_time = PlayerPrefs.GetInt("dark_refreshDay", 0); string darkWVDailyrefreshtimes_str = ""; string dark_refresh_str = PlayerPrefs.GetString("Darkrefreshnum", ""); if (string.IsNullOrEmpty(dark_refresh_str)) { dark_restoredList = new List>(); } else { dark_restoredList = dark_refresh_str.Split(';').Select(row => row.Split(',').Select(int.Parse).ToList()).ToList(); } if (dark_restoredList.Count < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count) { int targetCount = ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; for (int i = dark_restoredList.Count; i < targetCount; i++) { dark_restoredList.Add(new List()); } } for (int i = 0; i < dark_restoredList.Count; i++) { if (ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count > i) { int targetCount = ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links.Count; if (dark_restoredList[i].Count < targetCount) { for (int j = dark_restoredList[i].Count; j < targetCount; j++) { dark_restoredList[i].Add(0); } } } } if (dark_last_time == newDays) { } else { for (int i = 0; i < dark_restoredList.Count; i++) { for (int j = 0; j < dark_restoredList[i].Count; j++) { dark_restoredList[i][j] = 0; } } PlayerPrefs.SetInt("dark_refreshDay", newDays); PlayerPrefs.SetString("Darkrefreshnum", string.Join(";", dark_restoredList.Select(row => string.Join(",", row)))); } string light_str = ""; string dark_str = ""; int can_refresh_numbners = 0; for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links.Count; i++) { if (i != 0) { light_str += "|"; } light_str += ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].url + "#" + ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].weight + "#" + (ConfigSystem_sdk.Instance.SDKConfig.h5Conf.links[i].maxF5Times - light_restoredList[i]); } for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; i++) { for (int j = 0; j < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links.Count; j++) { if (i != 0 || j != 0) { dark_str += "|"; } dark_str += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].url + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].weight + "#" + (ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].maxF5Times - dark_restoredList[i][j]) + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].links[j].ctProb + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].layerId + "#" + ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].offset; } } string darkWVRefreshtime_str = ""; string add_time = ""; string layer_click_probability = ""; for (int i = 0; i < ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList.Count; i++) { if (i != 0) { darkWVRefreshtime_str += "|"; add_time += "|"; layer_click_probability += "|"; } darkWVRefreshtime_str += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].f5Interval.min; darkWVRefreshtime_str += "|"; darkWVRefreshtime_str += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].f5Interval.max; add_time += UnityEngine.Random.Range(ConfigSystem_sdk.Instance.SDKConfig.h6Conf.ADClickF5Delay.min, ConfigSystem_sdk.Instance.SDKConfig.h6Conf.ADClickF5Delay.max + 1); layer_click_probability += ConfigSystem_sdk.Instance.SDKConfig.h6Conf.layerConfList[i].weight; } Debug.Log("|||||||||||||||||||||--------------------------------"); Debug.Log(darkWVRefreshtime_str); Debug.Log(dark_str); Debug.Log(light_str); Debug.Log(layer_click_probability); Debug.Log(add_time); addH5Field(ConfigSystem.GetConfig().flyCtRate, ConfigSystem.GetConfig().otherH5switch, UnityEngine.Random.Range(ConfigSystem_sdk.Instance.SDKConfig.h5Conf.f5Interval.min, ConfigSystem_sdk.Instance.SDKConfig.h5Conf.f5Interval.max + 1), -1, -1 , darkWVRefreshtime_str, "", dark_str, light_str, GameHelper.IsGiftSwitch(), layer_click_probability, add_time); } } }