OvertakingLegend/Assets/Script/Scenes.cs

97 lines
2.1 KiB
C#

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
/// <summary>
/// 游戏状态
/// </summary>
public enum E_GameState
{
/// <summary>
///游戏中
/// </summary>
Gameing,
/// <summary>
/// 游戏结束
/// </summary>
GameOver,
/// <summary>
/// 游戏胜利
/// </summary>
GameVictory,
/// <summary>
/// 初始
/// </summary>
Start,
}
/// <summary>
/// 场景管理器
/// </summary>
public class Scenes : MBSingletonManager<Scenes>
{
/// <summary>
/// 记录金币
/// </summary>
private float recordMoney;
/// <summary>
/// 是否展示
/// </summary>
public bool isHome_Show;
/// <summary>
/// 玩家
/// </summary>
public Player player;
/// <summary>
/// 游戏场景
/// </summary>
public GameScene gameScene;
/// <summary>
/// 大厅场景
/// </summary>
public HallScene hallScene;
/// <summary>
/// 游戏状态
/// </summary>
public E_GameState e_GameState = E_GameState.Start;
/// <summary>
/// 追金币
/// </summary>
public void GoldCoin()
{
if(recordMoney!=UserDataManager.Instance.userData.money)
{
DOTween.To(() => recordMoney, x => recordMoney = x, UserDataManager.Instance.userData.money, 1).OnUpdate(() =>
{
UIManager.Instance.GetUI<GeneralUI>().SetMoney((int)recordMoney);
});
}
}
/// <summary>
/// 设置游戏状态
/// </summary>
public void SetGameState(E_GameState e_GameState)
{
this.e_GameState = e_GameState;
}
/// <summary>
/// 玩家初始化
/// </summary>
public void PlayerCarInit(Vector3 pos)
{
player = Instantiate(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "Player").GetComponent<Player>());
player.transform.position = pos;
}
}