You've already forked taptap2024_GJ_chidouren
157 lines
5.5 KiB
C#
157 lines
5.5 KiB
C#
using System;
|
||
using System.AudioHandler;
|
||
using System.Collections;
|
||
using System.IO;
|
||
using System.Loader;
|
||
using System.OfflineSystem;
|
||
using System.StateSystem;
|
||
using System.Threading.Tasks;
|
||
using FJson;
|
||
using Framework.Asset;
|
||
using Framework.Audio;
|
||
using Framework.common;
|
||
using Framework.FSMLite;
|
||
using Framework.GamePool.manager;
|
||
using Framework.Save;
|
||
using Framework.Timer;
|
||
using Framework.UI;
|
||
using Framework.Utils;
|
||
using Framework.Utils.Extend;
|
||
using Game;
|
||
using Runtime.ADAggregator;
|
||
using StateSystem.Loader;
|
||
using TMPro;
|
||
using ToffeeHttp.Runtime;
|
||
using ToffeeHttp.Runtime.Core;
|
||
using UnityEngine;
|
||
using UnityEngine.Networking;
|
||
using UnityEngine.Rendering;
|
||
using UnityEngine.SceneManagement;
|
||
using Views;
|
||
using Object = UnityEngine.Object;
|
||
|
||
namespace StateSystem.State
|
||
{
|
||
public class StateInit : StateMachine<GameGlobalState>
|
||
{
|
||
public static bool HasTempGame;
|
||
private SceneLoader _sceneLoader;
|
||
protected override void OnEnter (params object[] args)
|
||
{
|
||
CameraEffectUtils.Instance.SetGameCamBlur(0, 0, null);
|
||
SceneInit ();
|
||
}
|
||
|
||
|
||
private void SceneInit ()
|
||
{
|
||
Debug.Log ("SceneInit");
|
||
// return;
|
||
//初始化资源管理器,并挂载AlwaysRes下的所有资源
|
||
AssetManager.Instance.Rouse ();
|
||
// #if UNITY_EDITOR
|
||
// ManagerInit ();
|
||
// return;
|
||
// #endif
|
||
if (SceneManager.GetActiveScene ().name == "SetupScene")
|
||
{
|
||
this._sceneLoader = new SceneLoader (SceneName.InitScene, true);
|
||
this._sceneLoader.BeginLoad (null, ManagerInit);
|
||
HasTempGame = false;
|
||
}
|
||
else
|
||
{
|
||
ManagerInit ();
|
||
HasTempGame = true;
|
||
}
|
||
}
|
||
|
||
protected override void OnExit ()
|
||
{
|
||
// this._sceneLoader.Kill();
|
||
}
|
||
|
||
protected void ManagerInit ()
|
||
{
|
||
BeginStaticPanel.OnMessage ("系统初始化...");
|
||
Input.multiTouchEnabled = false;
|
||
GameQualitySettings.SetFPS (90);
|
||
FontLoad ();
|
||
Debug.Log ("初始化系统模块");
|
||
//初始化配置文件系统
|
||
RofManagerConfig.Instance.Rouse ();
|
||
//ui 层数据初始化
|
||
var viewConfig = new IC_AddressabelConfig (); //使用AssetBundle资源管理
|
||
// var viewConfig = Resources.Load<IC_Resource_ViewConfig>("Config/ViewConfig"); //使用Resource资源管理
|
||
UIManager.Instance.AddConfig (viewConfig);
|
||
//存储系统初始化 ,针对Game类型存档特殊处理
|
||
var saveConfig = SaveConfig.CreateConfig (SaveManager.Instance.BaseConfig.RootPath);
|
||
// var saveConfig = SaveConfig.CreateConfig();
|
||
saveConfig.SetDataHandler (new SaveHandlerFileStream ());
|
||
// saveConfig.SetDataHandler (new SaveHandlerQuickFileStream ());
|
||
#if UNITY_EDITOR
|
||
saveConfig.SetSerializer (new SaveSerializerJson ());
|
||
#else
|
||
saveConfig.SetSerializer(new SaveSerializerCommonJson());
|
||
#endif
|
||
SaveManager.Instance.SetConfig (SaveData.Game , saveConfig);
|
||
|
||
//对象池初始化
|
||
GamePoolManager.Instance.Rouse ();
|
||
//存档系统初始化
|
||
Account.Instance.Rouse ();
|
||
//提前唤醒缓动系统驱动
|
||
MintAnimation.Core.MintDriveComponentSinge.Instance.ToString ();
|
||
//音频管理器初始化
|
||
AudioManager.Instance.Init (new AudioSourceHandler (AudioManager._AUDIO_Path)); //使用AssetBundle资源管理
|
||
GameManager.Instance.ScriptRegist ();
|
||
GameManager.Instance.Inited ();
|
||
//激活离线奖励系统
|
||
OfflineMgr.Instance.Rouse ();
|
||
//初始化系统时间
|
||
GameManager.Instance.InitSystemTime (ThirdPartyMgrInit);
|
||
Debug.Log ("系统初始化完毕");
|
||
}
|
||
|
||
private void ThirdPartyMgrInit ()
|
||
{
|
||
|
||
UIManager.Instance.OpenView (UIPanel.ScreenEffectPanel);
|
||
|
||
AnalysisEventMgr.Instance.Rouse ();
|
||
// var adConfig = AssetManager.Instance.LoadAsset<ADConfig>("Config/ToponAdConfig.asset");
|
||
// var toponAdController = new ToponAdController();
|
||
// toponAdController.SetListener(GameManager.Instance.OnAdMask , null);
|
||
// ADManager.Instance.Init(null , Account.Instance.UserID , adConfig , toponAdController , GameGlobalConfig.Instance.Channel.ToString());
|
||
ADManager.Instance.Init(null , Account.Instance.UserID , null , null , GameGlobalConfig.Instance.Channel.ToString());
|
||
#if GM
|
||
ADManager.Instance.SetTestModel();
|
||
#endif
|
||
Debug.Log ("三方系统初始化完毕");
|
||
ADManager.Instance.GLOBAL_ShowAwardVideoComplete += GameManager.Instance.OnGlobalVideoAdComplete;
|
||
OnInited ();
|
||
}
|
||
|
||
private void FontLoad()
|
||
{
|
||
TMP_Settings.instance = AssetManager.Instance.LoadAlwaysAsset<TMP_Settings>("/FontResource/TMP Settings.asset");
|
||
}
|
||
|
||
|
||
private void OnInited ()
|
||
{
|
||
GameUpdateMgr.Instance.CreateTimer (1f , () =>
|
||
{
|
||
BeginStaticPanel.ReleasePanel ();
|
||
if (HasTempGame)
|
||
{
|
||
this.stateMachineRunner.OpenState (GameGlobalState.GameRoom);
|
||
}
|
||
else
|
||
{
|
||
this.stateMachineRunner.OpenState (GameGlobalState.GameHome);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
} |