Files
5.24BuYu/Assets/MyGame/Scripts/Manager/GameManager.cs
T

131 lines
4.2 KiB
C#
Raw Normal View History

2026-02-03 11:35:19 +08:00
using Assets.MyGame.Scripts.Net;
using Assets.MyGame.Scripts.Net.API;
2026-04-21 23:33:59 +08:00
// using CameraShake;
2026-02-03 11:35:19 +08:00
using Newtonsoft.Json;
2026-03-09 09:25:01 +08:00
using System;
2025-12-11 16:40:24 +08:00
using UnityEngine;
2026-03-18 17:26:14 +08:00
using UnityEngine.InputSystem;
2026-04-17 18:30:51 +08:00
using UnityEngine.Rendering;
2026-02-03 11:35:19 +08:00
using UnityEngine.SceneManagement;
2026-04-21 23:02:51 +08:00
using UnityEngine.UI;
using UnityEngine.Video;
2025-12-11 16:40:24 +08:00
public class GameManager : MonoSingleton<GameManager>
{
2026-02-03 11:35:19 +08:00
public GameConfig gameConfig;
2026-04-13 18:30:55 +08:00
public UserData user;
2026-03-09 09:25:01 +08:00
public GameData gameData = new GameData();
2026-02-03 11:35:19 +08:00
public Scene scene;
2026-04-21 23:33:59 +08:00
// public CameraShaker cameraShake;
2026-04-17 18:30:51 +08:00
// // 指定此方法在加载时立即调用,在显示启动动画前之前执行
// [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
// private static void BeforeSplashScreen()
// {
// //平台适配
//#if UNITY_WEBGL
// // 如果在 WebGL 平台上运行,立即停止启动动画
// SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
//#else
// // 如果不是在 WebGL 平台上,启动一个异步任务来停止启动动画
// System.Threading.Tasks.Task.Run(() =>
// {
// SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
// });
//#endif
// }
2026-04-13 18:30:55 +08:00
public void UpdataUserData(UserData user)
{
this.user = user;
var a = UIManager.Instance.Get<UIHomeMain>(UIPanel.HomeMainPanel);
if (a!=null)
{
a.UpdateUserData();
}
}
2025-12-26 11:15:56 +08:00
protected override async void Awake()
{
2026-04-03 09:28:13 +08:00
2026-02-26 11:05:56 +08:00
Application.runInBackground = true;
2026-04-03 09:28:13 +08:00
2025-12-26 11:15:56 +08:00
base.Awake();
2026-04-21 23:33:59 +08:00
// cameraShake = Camera.main.GetComponent<CameraShaker>();
2026-03-09 09:25:01 +08:00
gameData.currUser = "123";
2026-02-03 11:35:19 +08:00
//string json = Resources.Load<TextAsset>("Config/GameConfig").text;
//gameConfig = JsonConvert.DeserializeObject<APIResponse<GameConfig>>(json).data;
APIManager.Response<GameConfig>(APIType.GameConfig_Get, res => { gameConfig = res; var v = CreateFishManager.Instance.CreateDic; });
2026-03-09 09:25:01 +08:00
}
public void StartGame(Action action)
2025-12-13 18:18:28 +08:00
{
2026-02-03 11:35:19 +08:00
2025-12-26 11:15:56 +08:00
switch (gameData.currGameType)
{
case GameType.JQQD:
break;
case GameType.defaultPanel:
UIManager.Instance.ShowAsync(UIPanel.MainGamePanelDefault);
break;
2026-03-12 10:48:53 +08:00
case GameType.FLZY:
if (action != null)
WebSocketManager.Instance.Connect(SocketType.game, action);
//UIManager.Instance.ShowAsync(UIPanel.MainGamePanelFLZY);
2025-12-26 11:15:56 +08:00
break;
case GameType.TGXX:
2026-03-12 10:48:53 +08:00
UIManager.Instance.ShowAsync(UIPanel.MainGamePanelTGXX);
2025-12-26 11:15:56 +08:00
break;
case GameType.ZGXQ:
2026-02-13 19:23:01 +08:00
//UIManager.Instance.ShowAsync(UIPanel.MainGamePanelZGXQ);
//这里设置触发棋盘的初始化
2025-12-26 11:15:56 +08:00
break;
case GameType.XJMH:
2026-03-09 09:25:01 +08:00
if (action != null)
{
WebSocketManager.Instance.Connect(SocketType.game, action);
}
else
WebSocketManager.Instance.Connect(SocketType.game);
2025-12-26 11:15:56 +08:00
break;
case GameType.HHWK:
2026-03-18 17:26:14 +08:00
//UIManager.Instance.ShowAsync(UIPanel.MainGamePanelDefault);
if (action != null)
WebSocketManager.Instance.Connect(SocketType.game, action);
2025-12-26 11:15:56 +08:00
break;
default:
break;
}
2026-03-09 09:25:01 +08:00
2025-12-13 18:18:28 +08:00
}
2025-12-11 16:40:24 +08:00
// Start is called before the first frame update
2026-04-21 23:02:51 +08:00
public Button btn_Skip;
public VideoClip startVideoClip;
2025-12-11 16:40:24 +08:00
void Start()
{
2026-04-21 23:02:51 +08:00
var v = UIManager.Instance.ShowLoadPanel(startVideoClip);
2026-04-23 17:24:31 +08:00
UIManager.Instance.ShowAsync(UIPanel.LoginPanel, null, (a) =>
{
v.LoadBar(100);
}, 28);
2026-04-21 23:02:51 +08:00
btn_Skip.onClick.AddListener(() =>
{
2026-04-22 00:23:14 +08:00
UIManager.Instance.StopShowPanel();
2026-04-21 23:02:51 +08:00
UIManager.Instance.ShowAsync(UIPanel.LoginPanel, null, null, 0);
v.LoadBar(100);
});
2025-12-11 16:40:24 +08:00
}
// Update is called once per frame
void Update()
{
2026-03-18 17:26:14 +08:00
#if UNITY_EDITOR
if (Keyboard.current.qKey.wasPressedThisFrame)
{
UIManager.Instance.ShowBoardGongGao("太有实力了dadadadwawafdsdrgdfghdsufhkjghjksdfdgdffghgjhgykhjkhjghjfg");
}
#endif
2025-12-26 11:15:56 +08:00
2025-12-11 16:40:24 +08:00
}
}