PacMan/Assets/Scripts/GameManager.cs

89 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class GameManager : MonoBehaviour
{
public static GameManager instance;
public float Score;
public int DotNum;
public float invincibleTime;//无敌时间
public TMPro.TextMeshProUGUI scoreText;//分数文本
public TMPro.TextMeshProUGUI invincibleText;//无敌时间文本
public bool GameStart = false;//游戏开始
private void Awake()
{
// 单例初始化
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
}
private void Update()
{
UpdateInvincibleTime();
}
// 吃豆加分减少数量
public void AddScore(float amount)
{
Score += amount;
DotNum--;
UpdateScoreDisplay();
if(DotNum<=0)
{
//游戏胜利
}
}
public void AddDotNum(int addNotNum)
{
DotNum += addNotNum;
// UpdateScoreDisplay();
}
private void UpdateScoreDisplay()
{
if (scoreText != null)
{
scoreText.text = Score.ToString();
}
}
private void UpdateInvincibleTime()
{
if (invincibleText != null)
{
invincibleText.text = invincibleTime.ToString();
}
}
public static float GetAnimaTime(Animator animtorName, string animName)//获得动画时长
{
if (animtorName != null)
{
RuntimeAnimatorController AC = animtorName.runtimeAnimatorController;
foreach (var item in AC.animationClips)
{
if (item.name == animName)
{
return item.length;
}
}
}
return 0;
}
}