using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraMgr : MonoBehaviour { private static CameraMgr instance; public static CameraMgr Instance { get { if (instance == null) { GameObject obj = new GameObject("CameraMgr"); instance = obj.AddComponent(); DontDestroyOnLoad(obj); } return instance; } } /// /// 总的相机跳转位置点 /// public Transform cameraTarget_all; /// /// 排水相机跳转位置点 /// public Transform cameraTarget_drainage; /// /// 空调相机跳转位置点 /// public Transform cameraTarget_cooler; /// /// 照明相机跳转位置点 /// public Transform cameraTarget_lighting; /// /// 主相机 /// public GameObject mainCamera; private void Awake() { //mainCamera = GameObject.FindWithTag("MainCamera"); //cameraTarget_all = GameObject.Find("总览_用能_能效_碳排放Pos")?.transform; //cameraTarget_drainage = GameObject.Find("排水Pos")?.transform; //cameraTarget_cooler = GameObject.Find("空调Pos")?.transform; //cameraTarget_lighting = GameObject.Find("照明_显示屏Pos")?.transform; } // 在这个函数中根据传入的参数执行不同的操作 public void PerformOperation(int operationType) { switch (operationType) { case 1: Operation1(); break; case 2: Operation2(); break; case 3: Operation3(); break; case 4: Operation4(); break; default: Debug.LogError("Invalid operation type"); break; } } // 不同操作的具体实现 /// /// 总的 /// private void Operation1() { Debug.Log("Performing Operation 1"); // 将主照相机的位置和角度设置为为空对象的位置和角度 //Config.Instance.mainCarema.position = Config.Instance.points[0].point.position; //Config.Instance.mainCarema.rotation = Config.Instance.points[0].point.rotation; SetCameraState(0); //Camera camera = Camera.main; //camera.transform.position = cameraTarget_all.position; } /// /// 排水 /// private void Operation2() { Debug.Log("Performing Operation 2"); SetCameraState(1); // 将主照相机的位置和角度设置为为空对象的位置和角度 //mainCamera.transform.position = cameraTarget_drainage.position; //mainCamera.transform.rotation = cameraTarget_drainage.rotation; //Camera camera = Camera.main; //camera.transform.position = cameraTarget_drainage.position; } /// /// 空调 /// private void Operation3() { Debug.Log("Performing Operation 3"); SetCameraState(2); // 将主照相机的位置和角度设置为为空对象的位置和角度 //mainCamera.transform.position = cameraTarget_cooler.position; //mainCamera.transform.rotation = cameraTarget_cooler.rotation; //Camera camera = Camera.main; //camera.transform.position = cameraTarget_cooler.position; } /// /// 照明 /// private void Operation4() { Debug.Log("Performing Operation 4"); SetCameraState(3); // 将主照相机的位置和角度设置为为空对象的位置和角度 //mainCamera.transform.position = cameraTarget_lighting.position; //mainCamera.transform.rotation = cameraTarget_lighting.rotation; //Camera camera = Camera.main; //camera.transform.position = cameraTarget_lighting.position; } public void SetCameraState(int index) { Config.Instance.mainCarema.position = Config.Instance.points[index].point.position; Config.Instance.mainCarema.rotation = Config.Instance.points[index].point.rotation; } }