JiNanCementPlantForUnity/Assets/Scripts/CameraTween.cs

238 lines
7.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class CameraTween : MonoBehaviour
{
public static CameraTween instance;
public List<GameObject> CameraPoses;
// Start is called before the first frame update
void Start()
{
instance = this;
}
private void ResetCmaera(int index)
{
if (!MoveCameraByMouse.instance.enabled)
{
MoveCameraByMouse.instance.enabled = true;
ChangeCamera(CameraPoses[index]);
}
else
{
MoveCamera(CameraPoses[index]);
}
}
public void MoveCameraToPos(string name)
{
if (name.Equals("主视角"))
{
ResetCmaera(0);
MoveCameraByMouse.instance.target = GameObject.Find("Env_immobilization").transform;
}
if (name.Equals("空压机房"))
{
ResetCmaera(31);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("空压机房/fangzi001");
}
if (name.Equals("回转窑空压机房"))
{
ResetCmaera(32);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("回转窑空压机房/fangzi");
}
if (name.Equals("一号生产线"))
{
ResetCmaera(1);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("一号生产线/一号线回转窑");
}
if (name.Equals("二号生产线"))
{
ResetCmaera(2);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("二号生产线/二号线回转窑");
}
if (name.Equals("三号生产线"))
{
ResetCmaera(3);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("三号生产线/三号线回转窑");
}
if (name.Equals("破碎系统"))
{
ResetCmaera(4);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("破碎机");
}
if (name.Equals("生料系统"))
{
ResetCmaera(5);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("二号生产线/二号线生料磨");
}
if (name.Equals("水泥磨系统"))
{
ResetCmaera(6);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("水泥磨");
}
if (name.Equals("回转窑系统"))
{
ResetCmaera(7);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("二号生产线/二号线回转窑");
}
if (name.Equals("煤磨系统"))
{
ResetCmaera(8);
MoveCameraByMouse.instance.target = GameObject.Find("设备点位").transform.Find("二号生产线/二号线煤磨");
}
if (name.Equals("总降电力室"))
{
ChangeCamera(CameraPoses[9]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("矿山电力室"))
{
ChangeCamera(CameraPoses[10]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("辅料处理配电室"))
{
ChangeCamera(CameraPoses[11]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("原材料电力室"))
{
ChangeCamera(CameraPoses[12]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("原料配料配电室"))
{
ChangeCamera(CameraPoses[13]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("一线生料磨电力室"))
{
ChangeCamera(CameraPoses[14]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("二线生料磨电力室"))
{
ChangeCamera(CameraPoses[15]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("三号线生料配电室"))
{
ChangeCamera(CameraPoses[16]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("一线窑头电力室1"))
{
ChangeCamera(CameraPoses[17]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("一线窑头电力室2"))
{
ChangeCamera(CameraPoses[18]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("窑尾电力室"))
{
ChangeCamera(CameraPoses[19]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("二线窑头电力室1"))
{
ChangeCamera(CameraPoses[20]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("二线窑头电力室2"))
{
ChangeCamera(CameraPoses[21]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("三号线窑头配电室"))
{
ChangeCamera(CameraPoses[22]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("三号线窑尾配电室"))
{
ChangeCamera(CameraPoses[23]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("一线原煤电力室"))
{
ChangeCamera(CameraPoses[24]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("余热发电电力室"))
{
ChangeCamera(CameraPoses[25]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("三号线熟料配电室"))
{
ChangeCamera(CameraPoses[26]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("水泥磨电力室"))
{
ChangeCamera(CameraPoses[27]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("万吨仓电力室"))
{
ChangeCamera(CameraPoses[28]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("石灰石破碎配电室"))
{
ChangeCamera(CameraPoses[29]);
MoveCameraByMouse.instance.enabled = false;
}
if (name.Equals("石灰石输送配电室1、2"))
{
ChangeCamera(CameraPoses[30]);
MoveCameraByMouse.instance.enabled = false;
}
}
public void ChangeCamera(GameObject go)
{
Camera.main.transform.position = go.transform.position;
Camera.main.transform.eulerAngles = go.transform.eulerAngles;
}
public void MoveCamera(GameObject go)
{
MoveCameraByMouse.instance.ison = false;
Camera.main.transform.DOMove(go.transform.position, 2f);
Camera.main.transform.DORotate(go.transform.eulerAngles, 2f);
}
// Update is called once per frame
public int index = -1;
void Update()
{
if (Input.GetKeyDown(KeyCode.UpArrow))
{
if (index > 0)
{
index--;
Camera.main.transform.parent = CameraPoses[index].transform;
Camera.main.transform.localEulerAngles = Vector3.zero;
Camera.main.transform.localPosition = Vector3.zero;
}
}
if (Input.GetKeyDown(KeyCode.DownArrow))
{
if (index < 31)
{
index++;
Camera.main.transform.parent = CameraPoses[index].transform;
Camera.main.transform.localEulerAngles = Vector3.zero;
Camera.main.transform.localPosition = Vector3.zero;
}
}
}
}