128 lines
4.2 KiB
C#
128 lines
4.2 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(UIPanel.LoginPanel, null, null, 28);
|
|
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
|
|
|
|
}
|
|
}
|