2022-07-28 15:58:55 +08:00
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
2022-08-13 17:12:45 +08:00
|
|
|
using UnityEngine.InputSystem;
|
2022-07-28 15:58:55 +08:00
|
|
|
|
|
|
|
public class GameController : UnitySingleton<GameController>
|
|
|
|
{
|
|
|
|
|
|
|
|
public struct Death{
|
2022-08-19 14:23:35 +08:00
|
|
|
public enum DeadReason { Camera , PersonFall }
|
2022-07-28 15:58:55 +08:00
|
|
|
public DeadReason deadReason;
|
|
|
|
}
|
|
|
|
|
|
|
|
private Horse horse;
|
|
|
|
private CameraManager cameraManager;
|
2022-08-19 14:23:35 +08:00
|
|
|
private Person person;
|
2022-07-28 15:58:55 +08:00
|
|
|
|
2022-08-19 14:23:35 +08:00
|
|
|
void Start(){
|
2022-07-28 15:58:55 +08:00
|
|
|
FindSth();
|
|
|
|
}
|
|
|
|
|
2022-08-13 17:12:45 +08:00
|
|
|
void Update(){
|
2022-08-19 14:23:35 +08:00
|
|
|
//当同时按下左右扳机,触发重开,仅调试用
|
|
|
|
if(Gamepad.current != null && Gamepad.current.leftTrigger.isPressed && Gamepad.current.rightTrigger.isPressed){
|
2022-08-13 17:12:45 +08:00
|
|
|
UnityEngine.SceneManagement.SceneManager.LoadScene(UnityEngine.SceneManagement.SceneManager.GetActiveScene().name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-08-19 14:23:35 +08:00
|
|
|
void FindSth(){
|
2022-07-28 15:58:55 +08:00
|
|
|
horse = FindObjectOfType<Horse>();
|
|
|
|
cameraManager = FindObjectOfType<CameraManager>();
|
2022-08-19 14:23:35 +08:00
|
|
|
person = FindObjectOfType<Person>();
|
2022-07-28 15:58:55 +08:00
|
|
|
}
|
|
|
|
|
2022-08-19 14:23:35 +08:00
|
|
|
public void GameOver(Death deathInfo){
|
2022-07-28 15:58:55 +08:00
|
|
|
//触发马的死亡功能
|
|
|
|
horse.Death(deathInfo);
|
2022-08-19 14:23:35 +08:00
|
|
|
//触发人的死亡功能
|
|
|
|
person.Death(deathInfo);
|
2022-07-28 15:58:55 +08:00
|
|
|
//告诉相机马死了
|
|
|
|
cameraManager.Death(deathInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|