1.GameManager.cs 游戏管理器
该脚本控制游戏的暂停、非暂停状态(当游戏处于非暂停状态时,才能开枪射出子弹)。游戏暂停时呼出UI面板,可以选择开始新游戏、保存游戏、加载上次保存的游戏、退出游戏,游戏运行时可以涉及怪物,射中怪物后调用怪物刷新机制。
游戏刚开始是处于暂停状态
private void Awake()
{
//游戏开始时是暂停的状态
Pause();
}
暂停状态
private void Pause()
{
isPaused = true;
menuGO.SetActive(true);
Time.timeScale = 0;
Cursor.visible = true;//显示鼠标
}
非暂停状态
private void UnPause()
{
isPaused = false;
menuGO.SetActive(false);
Time.timeScale = 1;
Cursor.visible = false;//隐藏鼠标
}
开始新游戏按钮的功能逻辑
public void NewGame()
{
//对每一个位置的物体都调用更新生命周期方法
foreach (GameObject targetGO in targetGOs)
{
targetGO.GetComponent<TargetManager>().UpdateMonsters();
}
UIManager._instance.shootNum = 0;
UIManager._instance.score = 0;
UIManager._instance.ShowMessage("");
UnPause();
}
退出游戏
public void QuitGame()
{
Application.Quit();
}
保存游戏 具体怎么保存在其他博客中已写
public void SaveGame()
{
//SaveByBin();//以二进制形式保存
//SaveByJson();//以Json形式保存
SaveByXml();//以Xml形式保存
}
加载游戏 具体怎么加载在其他博客中已写
public void LoadGame()
{
//LoadByBin();//加载二进制文件
LoadByJson();//加载Json文件
//LoadByXml();//加载Xml文件
}