110 lines
3.7 KiB
C#
110 lines
3.7 KiB
C#
using Sirenix.OdinInspector;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// 大厅场景
|
|
/// </summary>
|
|
public class HallScene : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 玩家
|
|
/// </summary>
|
|
[HideInInspector] public Player player;
|
|
|
|
/// <summary>
|
|
/// 仓库
|
|
/// </summary>
|
|
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<AudioClip>(PackagesName.GameData,"HallBGM"));
|
|
Scenes.Instance.SetGameState(E_GameState.Start);
|
|
WarehouseInit();
|
|
Scenes.Instance.PlayerCarInit(warehouse.generatePoints.position);
|
|
player = Scenes.Instance.player;
|
|
player.SetNode();
|
|
player.TurnToHallCamear();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 漂移
|
|
/// </summary>
|
|
public void Drifting()
|
|
{
|
|
player.Drifting();
|
|
player.skinCar.SetAllLight(true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 仓库初始化
|
|
/// </summary>
|
|
public void WarehouseInit()
|
|
{
|
|
warehouse=Instantiate(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "Warehouse_" + Random.Range(1, 3)).GetComponent<Warehouse>());
|
|
warehouse.transform.position = Vector3.zero;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 跳转初始化
|
|
/// </summary>
|
|
public void SkipInit()
|
|
{
|
|
UIManager.Instance.AsynShowUI<MainUI>();
|
|
UIManager.Instance.AsynShowUI<TopmostLayerUI>();
|
|
UIManager.Instance.AsynShowUI<GeneralUI>();
|
|
Scenes.Instance.hallScene.Drifting();
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
///进入游戏场景
|
|
/// </summary>
|
|
public void EnterTheGameScene()
|
|
{
|
|
UserDataManager.Instance.AddGameNumber();
|
|
UIManager.Instance.DeleteUI<MainUI>();
|
|
UIManager.Instance.DeleteUI<GeneralUI>();
|
|
UIManager.Instance.DeleteUI<ShopUI>();
|
|
UIManager.Instance.ResourcesShowUI<LoadUI>();
|
|
ScenesLoadManager.Instance.AsynLoadScene(MyConstant.GameScene, () =>
|
|
{
|
|
LoadUI loadUI = UIManager.Instance.GetUI<LoadUI>();
|
|
loadUI.SetAction(() =>
|
|
{
|
|
UIManager.Instance.AsynShowUI<GameUI>((ui) =>
|
|
{
|
|
ui.SetCountDownkeepOut(true);
|
|
});
|
|
CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "NPCCar"), 10);
|
|
CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "MudTanker"), 1);
|
|
CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "Train"), 1);
|
|
CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "fx_explosion"), 1);
|
|
CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "fx_bump"), 1);
|
|
CachePoolManager.Instance.Prestrain(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "fx_speed"), 1);
|
|
}, () =>
|
|
{
|
|
Scenes.Instance.gameScene.CountDown();
|
|
});
|
|
loadUI.Load();
|
|
});
|
|
}
|
|
}
|