Files
5.24BuYu/Assets/MyGame/Scripts/Manager/GameManager.cs
T
wz1531 2fd8747949 Merge branch 'Art01' into feature/newWork
# Conflicts:
#	UserSettings/Layouts/default-2022.dwlt
2026-04-22 16:32:00 +08:00

128 lines
4.1 KiB
C#

using Assets.MyGame.Scripts.Net;
using Assets.MyGame.Scripts.Net.API;
// using CameraShake;
using Newtonsoft.Json;
using System;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Rendering;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using UnityEngine.Video;
public class GameManager : MonoSingleton<GameManager>
{
public GameConfig gameConfig;
public UserData user;
public GameData gameData = new GameData();
public Scene scene;
// public CameraShaker cameraShake;
// // 指定此方法在加载时立即调用,在显示启动动画前之前执行
// [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
// }
public void UpdataUserData(UserData user)
{
this.user = user;
var a = UIManager.Instance.Get<UIHomeMain>(UIPanel.HomeMainPanel);
if (a!=null)
{
a.UpdateUserData();
}
}
protected override async void Awake()
{
Application.runInBackground = true;
base.Awake();
// cameraShake = Camera.main.GetComponent<CameraShaker>();
gameData.currUser = "123";
//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; });
}
public void StartGame(Action action)
{
switch (gameData.currGameType)
{
case GameType.JQQD:
break;
case GameType.defaultPanel:
UIManager.Instance.ShowAsync(UIPanel.MainGamePanelDefault);
break;
case GameType.FLZY:
if (action != null)
WebSocketManager.Instance.Connect(SocketType.game, action);
//UIManager.Instance.ShowAsync(UIPanel.MainGamePanelFLZY);
break;
case GameType.TGXX:
UIManager.Instance.ShowAsync(UIPanel.MainGamePanelTGXX);
break;
case GameType.ZGXQ:
//UIManager.Instance.ShowAsync(UIPanel.MainGamePanelZGXQ);
//这里设置触发棋盘的初始化
break;
case GameType.XJMH:
if (action != null)
{
WebSocketManager.Instance.Connect(SocketType.game, action);
}
else
WebSocketManager.Instance.Connect(SocketType.game);
break;
case GameType.HHWK:
//UIManager.Instance.ShowAsync(UIPanel.MainGamePanelDefault);
if (action != null)
WebSocketManager.Instance.Connect(SocketType.game, action);
break;
default:
break;
}
}
// Start is called before the first frame update
public Button btn_Skip;
public VideoClip startVideoClip;
void Start()
{
var v = UIManager.Instance.ShowLoadPanel(startVideoClip);
UIManager.Instance.ShowAsync(UIPanel.LoginPanel,null,null,28);
btn_Skip.onClick.AddListener(() =>
{
UIManager.Instance.StopShowPanel();
UIManager.Instance.ShowAsync(UIPanel.LoginPanel, null, null, 0);
v.LoadBar(100);
});
}
// Update is called once per frame
void Update()
{
#if UNITY_EDITOR
if (Keyboard.current.qKey.wasPressedThisFrame)
{
UIManager.Instance.ShowBoardGongGao("太有实力了dadadadwawafdsdrgdfghdsufhkjghjksdfdgdffghgjhgykhjkhjghjfg");
}
#endif
}
}