H_SafeExperienceDrivingSystem/U3D_DrivingSystem/Assets/Script/Manaegr/CarInputManager.cs

134 lines
3.8 KiB
C#

using System;
using EVP;
using UnityEngine;
namespace Script.Manaegr
{
public class CarInputManager : MonoBehaviour
{
public TurnSignalController turnSignalController;
public VehicleController vehicleController;
public VehicleStandardInput vehicleStandardInput;
public AccidentManager accidentManager;
public GameObject cam1;
public GameObject cam2;
public GameObject menuUI;
public GameObject carInfoUI;
public AnimationController ygq;
public GameObject[] shache;
public GameObject ui3d;
public GameObject ui2d;
private bool isYgq = false;
public void Init()
{
vehicleController.maxSpeedForward = 11;
carInfoUI.SetActive(true);
}
private void Update()
{
//左转向
if (Input.GetKeyDown(KeyCode.J))
{
turnSignalController.SetSignal(1);
}
if (Input.GetKeyDown(KeyCode.K))
{
turnSignalController.SetSignal(3);
}
if (Input.GetKeyDown(KeyCode.L))
{
turnSignalController.SetSignal(2);
}
if (Input.GetKeyDown(KeyCode.Space))
{
turnSignalController.SetSignal(0);
}
//切换车内视角
if (Input.GetKeyDown(KeyCode.U))
{
for (int i = 0; i < shache.Length; i++)
{
shache[i].SetActive(false);
}
if (cam1.activeInHierarchy)
{
cam1.SetActive(false);
cam2.SetActive(true);
ui3d.SetActive(true);
ui2d.SetActive(false);
}
else
{
cam1.SetActive(true);
cam2.SetActive(false);
ui3d.SetActive(false);
ui2d.SetActive(true);
}
}
//雨刮器
if (Input.GetKeyDown(KeyCode.I))
{
if (!isYgq)
{
isYgq = true;
ygq.PlayAnimation("donghua");
}
else
{
isYgq = false;
ygq.StopAnimationLoop();
}
}
//菜单
if (Input.GetKeyDown(KeyCode.Escape))
{
if (menuUI.activeInHierarchy)
{
menuUI.SetActive(false);
}
else
{
menuUI.SetActive(true);
}
}
if (vehicleStandardInput.forwardInput >= 1)
{
if (vehicleStandardInput.steerInput >= 1) //右
{
if (turnSignalController.turnSignalState != TurnSignalState.)
{
accidentManager.PlayAnimationSequence("MsgWinAnimOpen", "MsgWinAnimClose");
accidentManager.uis.transform.Find("UI/转向").gameObject.SetActive(true);
}
}
else if (vehicleStandardInput.steerInput <= -1) //左
{
if (turnSignalController.turnSignalState != TurnSignalState.)
{
accidentManager.PlayAnimationSequence("MsgWinAnimOpen", "MsgWinAnimClose");
accidentManager.uis.transform.Find("UI/转向").gameObject.SetActive(true);
}
}
}
}
}
}