414 lines
15 KiB
C#
414 lines
15 KiB
C#
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<SdkManager>();
|
||
if (_instance == null)
|
||
{
|
||
Debug.LogError("场景中没有找到挂载 SdkManager 的物体!请确保场景中有一个 GameObject 挂载了该脚本。");
|
||
}
|
||
}
|
||
return _instance;
|
||
}
|
||
}
|
||
int time = 0;
|
||
void Update()
|
||
{
|
||
if (Time.time > time)
|
||
{
|
||
H5sendClass info = new H5sendClass() { link = "www.baidu.com", type = "h6" };
|
||
NetworkKit_sdk.PostWithHeader<object>("event/h5Impressions", info, (isSuccess, obj) =>
|
||
{
|
||
if (isSuccess)
|
||
{
|
||
Debug.Log("发送成功");
|
||
Debug.Log(JsonConvert.SerializeObject(obj));
|
||
|
||
}
|
||
});
|
||
time++;
|
||
}
|
||
|
||
|
||
}
|
||
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<object>("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<object>("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<int> light_restoredList;
|
||
List<List<int>> 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<int>();
|
||
}
|
||
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<List<int>>();
|
||
}
|
||
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<int>());
|
||
}
|
||
}
|
||
|
||
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<CommonModel>().flyCtRate, ConfigSystem.GetConfig<CommonModel>().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);
|
||
|
||
}
|
||
}
|
||
}
|