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();
});
}
}