153 lines
4.1 KiB
C#
153 lines
4.1 KiB
C#
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<CameraMgr>();
|
|
DontDestroyOnLoad(obj);
|
|
}
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 总的相机跳转位置点
|
|
/// </summary>
|
|
public Transform cameraTarget_all;
|
|
|
|
/// <summary>
|
|
/// 排水相机跳转位置点
|
|
/// </summary>
|
|
public Transform cameraTarget_drainage;
|
|
|
|
/// <summary>
|
|
/// 空调相机跳转位置点
|
|
/// </summary>
|
|
public Transform cameraTarget_cooler;
|
|
|
|
/// <summary>
|
|
/// 照明相机跳转位置点
|
|
/// </summary>
|
|
public Transform cameraTarget_lighting;
|
|
|
|
/// <summary>
|
|
/// 主相机
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|
|
|
|
// 不同操作的具体实现
|
|
|
|
/// <summary>
|
|
/// 总的
|
|
/// </summary>
|
|
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;
|
|
}
|
|
/// <summary>
|
|
/// 排水
|
|
/// </summary>
|
|
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;
|
|
}
|
|
/// <summary>
|
|
/// 空调
|
|
/// </summary>
|
|
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;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 照明
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|