using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; using System.Threading; using UnityEngine; /// /// 大厅场景 /// public class HallScene : MonoBehaviour { /// /// 玩家 /// [HideInInspector] public Player player; /// /// 仓库 /// private Warehouse warehouse; private void Awake() { Init(); Scenes.Instance.hallScene = this; } private void Init() { if (UserDataManager.Instance.userData.guidance.isOverInitialEntry) { UIManager.Instance.DesProcess(); } else { UIManager.Instance.SetPostProcessVolume(false); } AudioManager.Instance.SetBackgroundMusic(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData,"HallBGM")); Scenes.Instance.SetGameState(E_GameState.Start); WarehouseInit(); Scenes.Instance.PlayerCarInit(warehouse.generatePoints.position); player = Scenes.Instance.player; player.SetNode(); player.TurnToHallCamear(); } /// /// 漂移 /// public void Drifting() { player.Drifting(); player.skinCar.SetAllLight(true); } /// /// 仓库初始化 /// public void WarehouseInit() { warehouse=Instantiate(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "Warehouse_" + Random.Range(1, 3)).GetComponent()); warehouse.transform.position = Vector3.zero; } /// /// 跳转初始化 /// public void SkipInit() { UIManager.Instance.AsynShowUI(); UIManager.Instance.AsynShowUI(); UIManager.Instance.AsynShowUI(); Scenes.Instance.hallScene.Drifting(); } /// ///进入游戏场景 /// public void EnterTheGameScene() { UserDataManager.Instance.AddGameNumber(); UIManager.Instance.DeleteUI(); UIManager.Instance.DeleteUI(); UIManager.Instance.DeleteUI(); UIManager.Instance.ResourcesShowUI(); ScenesLoadManager.Instance.AsynLoadScene(MyConstant.GameScene, () => { LoadUI loadUI = UIManager.Instance.GetUI(); loadUI.SetAction(() => { UIManager.Instance.AsynShowUI((ui) => { ui.SetCountDownkeepOut(true); }); CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "NPCCar"), 10); CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "MudTanker"), 1); CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "Train"), 1); CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "fx_explosion"), 1); CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "fx_bump"), 1); CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "fx_speed"), 1); }, () => { Scenes.Instance.gameScene.CountDown(); }); loadUI.Load(); }); } }