You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
735 lines
30 KiB
735 lines
30 KiB
3 years ago
|
using UnityEngine;
|
||
|
using System.Collections;
|
||
|
using AX.TrackRecord;
|
||
|
using System;
|
||
|
using AX.MessageSystem;
|
||
|
using UnityEngine.UI;
|
||
|
using System.Collections.Generic;
|
||
|
public class ControlYunTiChe : ControlJuBi
|
||
|
{
|
||
|
|
||
|
private GameObject part1;
|
||
|
private GameObject part2;
|
||
|
private GameObject part3;
|
||
|
private GameObject part4;
|
||
|
private GameObject part5;
|
||
|
private GameObject part6;
|
||
|
private GameObject part7;
|
||
|
private GameObject part8;
|
||
|
private GameObject part9;
|
||
|
private GameObject part10;
|
||
|
private GameObject water;
|
||
|
private CarMessage CarMess;
|
||
|
string CarName;
|
||
|
private float rotatSpeed = 10;
|
||
|
float zSpeed = 5;
|
||
|
float aspect = 1.5f;
|
||
|
bool ctrlDown = false;
|
||
|
public bool firstZero = true;
|
||
|
public bool firstFull = false;
|
||
|
public bool secondZero = true;
|
||
|
public bool secondFull = false;
|
||
|
public bool thirdZero = true;
|
||
|
public bool thirdFull = false;
|
||
|
public bool fourthZero = true;
|
||
|
public bool fourthFull = false;
|
||
|
public bool fifthZero = true;
|
||
|
public bool fifthFull = false;
|
||
|
public bool Min = false;
|
||
|
public bool Max = false;
|
||
|
//public LouCengControllor zSpeedId;
|
||
|
float SpeedBase = 30;
|
||
|
Slider zSpeedId;
|
||
|
GameObject TimeZhou;
|
||
|
private GameObject CarControlToggle;
|
||
|
private Car_3_JGC_GPC_YTC_Rise_Attribute carAttribute = new Car_3_JGC_GPC_YTC_Rise_Attribute();
|
||
|
public Car_3_JGC_GPC_YTC_Rise_Attribute CarAttribute
|
||
|
{
|
||
|
set
|
||
|
{
|
||
|
carAttribute = value;
|
||
|
firstZero = carAttribute.FirstZero;
|
||
|
firstFull = carAttribute.FirstFull;
|
||
|
secondZero = carAttribute.SecondZero;
|
||
|
secondFull = carAttribute.SecondFull;
|
||
|
thirdZero = carAttribute.ThirdZero;
|
||
|
thirdFull = carAttribute.ThirdFull;
|
||
|
fourthZero = carAttribute.FourthZero;
|
||
|
fourthFull = carAttribute.FourthFull;
|
||
|
fifthFull = carAttribute.FifthFull;
|
||
|
fifthZero = carAttribute.FifthZero;
|
||
|
//RiseNum = carAttribute.RiseNum;
|
||
|
MaxRise = carAttribute.MaxRise;
|
||
|
}
|
||
|
get
|
||
|
{
|
||
|
carAttribute.FirstZero = firstZero;
|
||
|
carAttribute.FirstFull = firstFull;
|
||
|
carAttribute.SecondZero = secondZero;
|
||
|
carAttribute.SecondFull = secondFull;
|
||
|
carAttribute.ThirdZero = thirdZero;
|
||
|
carAttribute.ThirdFull = thirdFull;
|
||
|
carAttribute.FourthZero = fourthZero;
|
||
|
carAttribute.FourthFull = fourthFull;
|
||
|
carAttribute.FifthFull = fifthFull;
|
||
|
carAttribute.FifthZero = fifthZero;
|
||
|
//carAttribute.RiseNum = RiseNum;
|
||
|
carAttribute.MaxRise = MaxRise;
|
||
|
|
||
|
return carAttribute;
|
||
|
}
|
||
|
}
|
||
|
void Awake()
|
||
|
{
|
||
|
CarMess = this.gameObject.GetComponent<CarMessage>();
|
||
|
part1 = this.transform.Find("Bi").gameObject;
|
||
|
part2 = this.transform.Find("Bi/Bi1").gameObject;
|
||
|
part3 = this.transform.Find("Bi/Bi1/Bi2").gameObject;
|
||
|
part4 = this.transform.Find("Bi/Bi1/Bi2/Bi3").gameObject;
|
||
|
part5 = this.transform.Find("Bi/Bi1/Bi2/Bi3/Bi4").gameObject;
|
||
|
part6 = this.transform.Find("Bi/Bi1/Bi2/Bi3/Bi4/Bi5").gameObject;
|
||
|
part7 = this.transform.Find("Bi/Bi1/Bi2/Bi3/Bi4/Bi5/Bi6").gameObject;
|
||
|
part8 = this.transform.Find("Bi/Bi1/Bi2/Bi3/Bi4/Bi5/Bi6/pingtai").gameObject;
|
||
|
part10= part8.transform.Find("shuipao").gameObject;
|
||
|
part9 = this.transform.Find("polySurface3148/yuntibi1").gameObject;
|
||
|
//water = part10.transform.FindChild("Hose").gameObject;
|
||
|
part = (int)(100 / 6);
|
||
|
zSpeedId = GameObject.Find("Canvas").transform.Find("控制举臂").GetComponent<ControlRiseCar>().TheSlider;
|
||
|
Part1currentFrame_y = part1.transform.localEulerAngles.y;
|
||
|
Part2currentFrame_x = part2.transform.localEulerAngles.x;
|
||
|
Part3currentFrame_z = part3.transform.localPosition.z;
|
||
|
Part4currentFrame_z = part4.transform.localPosition.z;
|
||
|
Part5currentFrame_z = part5.transform.localPosition.z;
|
||
|
Part6currentFrame_z = part6.transform.localEulerAngles.z;
|
||
|
Part7currentFrame_z = part7.transform.localEulerAngles.z;
|
||
|
Part1lastFrame_y = Part1currentFrame_y;
|
||
|
Part2lastFrame_x = Part2currentFrame_x;
|
||
|
Part3lastFrame_z = Part3currentFrame_z;
|
||
|
Part4lastFrame_z = Part4currentFrame_z;
|
||
|
Part5lastFrame_z = Part5currentFrame_z;
|
||
|
Part6lastFrame_z = Part6currentFrame_z;
|
||
|
Part7lastFrame_z = Part7currentFrame_z;
|
||
|
|
||
|
CarControlToggle = GameObject.Find("Canvas").transform.Find("控制举臂").gameObject;
|
||
|
|
||
|
Debug.Log((part2.transform.localEulerAngles.x));
|
||
|
}
|
||
|
//void OnDestroy()
|
||
|
//{
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_W_YTC", LeftShift_W_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_S_YTC", LeftShift_S_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("W_YTC", W_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("S_YTC", S_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("A_YTC", A_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("D_YTC", D_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("U_YTC", U_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("J_YTC", J_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("H_YTC", H_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("K_YTC", K_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Equals_YTC", Equals_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Minus_YTC", Minus_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("BackZhiJia", BackZhiJia);
|
||
|
//}
|
||
|
//void OnDisable()
|
||
|
//{
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_W_YTC", LeftShift_W_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_S_YTC", LeftShift_S_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("W_YTC", W_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("S_YTC", S_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("A_YTC", A_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("D_YTC", D_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("U_YTC", U_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("J_YTC", J_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("H_YTC", H_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("K_YTC", K_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Equals_YTC", Equals_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Minus_YTC", Minus_YTC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("BackZhiJia", BackZhiJia);
|
||
|
//}
|
||
|
//void OnEnable()
|
||
|
//{
|
||
|
// MessageDispatcher.AddListener("LeftShift_W_YTC", LeftShift_W_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("LeftShift_S_YTC", LeftShift_S_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("W_YTC", W_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("S_YTC", S_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("A_YTC", A_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("D_YTC", D_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("U_YTC", U_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("J_YTC", J_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("H_YTC", H_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("K_YTC", K_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("Equals_YTC", Equals_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("Minus_YTC", Minus_YTC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("BackZhiJia", BackZhiJia);
|
||
|
|
||
|
//}
|
||
|
public override void BackZhiJia(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
part1.transform.localPosition = new Vector3(0.006774902f, 3.515285f, -5.716083f);
|
||
|
part1.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part2.transform.localPosition = new Vector3(0.02789863f, 1.468759f, -0.6857472f);
|
||
|
part2.transform.localEulerAngles = new Vector3(-2f, 0, 0);
|
||
|
part3.transform.localPosition = new Vector3(0f, 0.1338046f, 0f);
|
||
|
part3.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part4.transform.localPosition = new Vector3(0, 0, 0.194763f);
|
||
|
part4.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part5.transform.localPosition = new Vector3(0, 0f, 1.136868f);
|
||
|
part5.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part6.transform.localPosition = new Vector3(-0.00153645f, 0.1293935f, 0f);
|
||
|
part6.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part7.transform.localPosition = new Vector3(0f, 0.1154551f, 0f);
|
||
|
part7.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part8.transform.localPosition = new Vector3(-0.03811928f, -0.659f, 16.05379f);
|
||
|
part8.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part10.transform.localPosition = new Vector3(0.03812027f, 0.7524695f, 0.3422127f);
|
||
|
part10.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
MaxRise = 16;
|
||
|
NewSetBool();
|
||
|
if (RecordManager.Instance.IsRecording)
|
||
|
{
|
||
|
MessageDispatcher.SendMessage("RecordZhiJiaBack", (object)this.gameObject.name);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void LeftShift_W(IMessage message)
|
||
|
{ if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if (int.Parse(CarMess.CarAttri.Hegih) <= 2 * part)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
float TheHeigh = MaxRise + part3.transform.localPosition.z + part4.transform.localPosition.z + part5.transform.localPosition.z + part6.transform.localPosition.z + part7.transform.localPosition.z;
|
||
|
if (TheHeigh > float.Parse(CarMess.Heigh))
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
if (!firstFull)
|
||
|
{
|
||
|
float z = part3.transform.localPosition.z;
|
||
|
if (int.Parse(CarMess.CarAttri.Hegih) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 15.5f)
|
||
|
{
|
||
|
firstFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 15.5f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
firstZero = false;
|
||
|
part3.transform.localPosition = new Vector3(0.01634139f, 0.1338f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (z >= 0 && z < 15.57183f)
|
||
|
{
|
||
|
firstZero = false;
|
||
|
part3.transform.localPosition = new Vector3(0.01634139f, 0.1338f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
firstFull = false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else if (firstFull && !secondFull)
|
||
|
{
|
||
|
float z = part4.transform.localPosition.z;
|
||
|
if (int.Parse(CarMess.CarAttri.Hegih) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 15.5f)
|
||
|
{
|
||
|
secondFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 15.5f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
secondZero = false;
|
||
|
part4.transform.localPosition = new Vector3(0.01634139f, 0.035f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (z >= 0 && z < 15.57183f)
|
||
|
{
|
||
|
secondZero = false;
|
||
|
part4.transform.localPosition = new Vector3(0.01634139f, 0.035f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
secondFull = false;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
else if (firstFull && secondFull && !thirdFull)
|
||
|
{
|
||
|
float z = part5.transform.localPosition.z;
|
||
|
if (int.Parse(CarMess.CarAttri.Hegih) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 15.5f)
|
||
|
{
|
||
|
thirdFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 15.5f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
thirdZero = false;
|
||
|
part5.transform.localPosition = new Vector3(0.01634139f, 0.129f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (z >= 0 && z < 15.57183f)
|
||
|
{
|
||
|
thirdZero = false;
|
||
|
part5.transform.localPosition = new Vector3(0.01634139f, 0.035f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
thirdFull = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else if (firstFull && secondFull && thirdFull && !fourthFull)
|
||
|
{
|
||
|
float z = part6.transform.localPosition.z;
|
||
|
if (int.Parse(CarMess.CarAttri.Hegih) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 15.5f)
|
||
|
{
|
||
|
fourthFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 15.5f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fourthZero = false;
|
||
|
part6.transform.localPosition = new Vector3(0.01634139f, 0.129f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (z >= 0 && z < 15.57183f)
|
||
|
{
|
||
|
fourthZero = false;
|
||
|
part6.transform.localPosition = new Vector3(0.01634139f, 0.035f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fourthFull = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else if (firstFull && secondFull && thirdFull && fourthFull && !fifthFull)
|
||
|
{
|
||
|
float z = part7.transform.localPosition.z;
|
||
|
if (int.Parse(CarMess.CarAttri.Hegih) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 15.5f)
|
||
|
{
|
||
|
fifthFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 15.5f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fifthZero = false;
|
||
|
part7.transform.localPosition = new Vector3(0.01634139f, 0.129f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (z >= 0 && z < 15.57183f)
|
||
|
{
|
||
|
fifthZero = false;
|
||
|
part7.transform.localPosition = new Vector3(0.01634139f, 0.035f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fifthFull = false;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}//LeftShift_W控制车臂伸长
|
||
|
public override void LeftShift_S(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if (!fifthZero)
|
||
|
{
|
||
|
float z = part7.transform.localPosition.z;
|
||
|
if (z < 0)
|
||
|
{
|
||
|
fifthZero = true;
|
||
|
//MaxRise -= part;
|
||
|
Vector3 newVector = part7.transform.localPosition;
|
||
|
newVector.z = 0;
|
||
|
part7.transform.localPosition = newVector;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fifthFull = false;
|
||
|
part7.transform.localPosition = new Vector3(0.01634139f, 0.129f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
if (!fourthZero && fifthZero)
|
||
|
{
|
||
|
float z = part6.transform.localPosition.z;
|
||
|
if (z < 0)
|
||
|
{
|
||
|
fourthZero = true;
|
||
|
//MaxRise -= part;
|
||
|
Vector3 newVector = part6.transform.localPosition;
|
||
|
newVector.z = 0;
|
||
|
part6.transform.localPosition = newVector;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fourthFull = false;
|
||
|
part6.transform.localPosition = new Vector3(0.01634139f, 0.129f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else if (!thirdZero && fourthZero && fifthZero)
|
||
|
{
|
||
|
float z = part5.transform.localPosition.z;
|
||
|
if (z < 0)
|
||
|
{
|
||
|
thirdZero = true;
|
||
|
//MaxRise -= part;
|
||
|
Vector3 newVector = part5.transform.localPosition;
|
||
|
newVector.z = 0;
|
||
|
part5.transform.localPosition = newVector;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
thirdFull = false;
|
||
|
part5.transform.localPosition = new Vector3(0.01634139f, 0.129f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
if (fourthZero && thirdZero && !secondZero)
|
||
|
{
|
||
|
float z = part4.transform.localPosition.z;
|
||
|
if (z < 0)
|
||
|
{
|
||
|
secondZero = true;
|
||
|
//MaxRise -= part;
|
||
|
Vector3 newVector = part4.transform.localPosition;
|
||
|
newVector.z = 0;
|
||
|
part4.transform.localPosition = newVector;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
secondFull = false;
|
||
|
part4.transform.localPosition = new Vector3(0.01634139f, 0.035f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else if (thirdZero && secondZero && !firstZero)
|
||
|
{
|
||
|
float z = part3.transform.localPosition.z;
|
||
|
if (z < 0)
|
||
|
{
|
||
|
firstZero = true;
|
||
|
MaxRise = part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 0;
|
||
|
part3.transform.localPosition = newVector;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
firstFull = false;
|
||
|
part3.transform.localPosition = new Vector3(0.01634139f, 0.1338f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}//LeftShift_S控制车臂的缩短
|
||
|
public override void W(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if ((part2.transform.localEulerAngles.x >= 284 && part2.transform.localEulerAngles.x <= 360) || (part2.transform.localEulerAngles.x==0))
|
||
|
{
|
||
|
part2.transform.Rotate(-Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}//W控制车臂抬起
|
||
|
public override void S(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if (part2.transform.localEulerAngles.x >= 357)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
part2.transform.Rotate(Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}//S控制车臂的放下
|
||
|
public override void A(IMessage message)
|
||
|
{
|
||
|
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
part1.transform.Rotate(0, -Time.deltaTime * zSpeedId.value * SpeedBase, 0);
|
||
|
}
|
||
|
}
|
||
|
}//A控制车臂的左旋转
|
||
|
public override void D(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
part1.transform.Rotate(0, Time.deltaTime * zSpeedId.value * SpeedBase, 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}//D控制车臂的右旋转
|
||
|
public override void U(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part10.transform.Rotate(-Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0, Space.Self);
|
||
|
}
|
||
|
}
|
||
|
}//U控制救人台的抬起
|
||
|
public override void J(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part10.transform.Rotate(Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0, Space.Self);
|
||
|
}
|
||
|
}
|
||
|
}//U控制救人台的放下
|
||
|
public override void K(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part10.transform.Rotate(0, Time.deltaTime * zSpeedId.value * SpeedBase, 0, Space.World);
|
||
|
}
|
||
|
}
|
||
|
}//U控制救人台的右旋转
|
||
|
public override void H(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part10.transform.Rotate(0, -Time.deltaTime * zSpeedId.value * SpeedBase, 0, Space.World);
|
||
|
}
|
||
|
}
|
||
|
}//U控制救人台的左旋转
|
||
|
public override void Equals(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
if (part10.transform.Find("Hose").childCount > 0)
|
||
|
{
|
||
|
ParticleSystemControl scale = part10.transform.Find("Hose").GetChild(0).GetComponent<ParticleSystemControl>();
|
||
|
scale.waterStraightScale += Time.deltaTime * 0.5f;
|
||
|
|
||
|
}
|
||
|
|
||
|
//scale.waterFogScale += Time.deltaTime * 0.5f;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}//控制水流增加
|
||
|
public override void Minus(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
if (part10.transform.Find("Hose").childCount > 0)
|
||
|
{
|
||
|
ParticleSystemControl scale = part10.transform.Find("Hose").GetChild(0).GetComponent<ParticleSystemControl>();
|
||
|
scale.waterStraightScale -= Time.deltaTime * 0.5f;
|
||
|
|
||
|
}
|
||
|
|
||
|
//scale.waterFogScale -= Time.deltaTime * 0.5f;
|
||
|
}
|
||
|
}
|
||
|
}//控制水流减少
|
||
|
|
||
|
bool TheOneFull = true;
|
||
|
bool TheOneZero = false;
|
||
|
bool TheTwoFull = true;
|
||
|
bool TheTwoZero = false;
|
||
|
bool TheThreeFull = true;
|
||
|
bool TheThreeZero = false;
|
||
|
bool TheFourFull = true;
|
||
|
bool TheFourZero = false;
|
||
|
bool TheFiveFull = true;
|
||
|
bool TheFiveZero = true;
|
||
|
public float GetRiseNum;
|
||
|
//public int RiseNum;
|
||
|
float part;
|
||
|
public float MaxRise = 16;
|
||
|
|
||
|
public void NewSetBool()
|
||
|
{
|
||
|
MaxRise = 16;
|
||
|
|
||
|
firstZero = true;
|
||
|
firstFull = false;
|
||
|
secondZero = true;
|
||
|
secondFull = false;
|
||
|
thirdZero = true;
|
||
|
thirdFull = false;
|
||
|
fourthZero = true;
|
||
|
fourthFull = false;
|
||
|
fifthZero = true;
|
||
|
fifthFull = false;
|
||
|
|
||
|
TheOneFull = true;
|
||
|
TheOneZero = false;
|
||
|
TheTwoFull = true;
|
||
|
TheTwoZero = false;
|
||
|
TheThreeFull = true;
|
||
|
TheThreeZero = false;
|
||
|
TheFourFull = true;
|
||
|
TheFourZero = false;
|
||
|
TheFiveFull = true;
|
||
|
TheFiveZero = true;
|
||
|
}
|
||
|
bool OneUp = false;
|
||
|
bool OneDown = false;
|
||
|
bool TwoUp = false;
|
||
|
bool TwoDown = false;
|
||
|
bool ThreeUp = false;
|
||
|
bool ThreeDown = false;
|
||
|
bool FourUp = false;
|
||
|
bool FourDown = false;
|
||
|
bool FiveUp = false;
|
||
|
bool FiveDown = false;
|
||
|
|
||
|
float TIMESTAMP = 1.0f;
|
||
|
float timer = 0f;
|
||
|
float THRESHOLD = 0.1f;
|
||
|
float Part1lastFrame_y;
|
||
|
float Part1currentFrame_y;
|
||
|
float Part2lastFrame_x;
|
||
|
float Part2currentFrame_x;
|
||
|
float Part3lastFrame_z;
|
||
|
float Part3currentFrame_z;
|
||
|
float Part4lastFrame_z;
|
||
|
float Part4currentFrame_z;
|
||
|
float Part5lastFrame_z;
|
||
|
float Part5currentFrame_z;
|
||
|
float Part6lastFrame_z;
|
||
|
float Part6currentFrame_z;
|
||
|
float Part7lastFrame_z;
|
||
|
float Part7currentFrame_z;
|
||
|
void Update()
|
||
|
{
|
||
|
if (GetComponent<LineamentEvent>().ControlJuBi)
|
||
|
{
|
||
|
|
||
|
var theta = Vector3.Dot(part8.transform.forward, Vector3.up);
|
||
|
var angle = Mathf.Rad2Deg * theta;
|
||
|
part8.transform.Rotate(angle, 0, 0);
|
||
|
}
|
||
|
if (Input.GetKeyDown(KeyCode.LeftControl))
|
||
|
{
|
||
|
ctrlDown = true;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
ctrlDown = false;
|
||
|
}
|
||
|
if (RecordManager.Instance.IsRecording)
|
||
|
{
|
||
|
if (GetComponent<LineamentEvent>().ControlJuBi)
|
||
|
{
|
||
|
if (timer > 0)
|
||
|
{
|
||
|
timer -= Time.deltaTime;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Part1currentFrame_y = part1.transform.localEulerAngles.y;
|
||
|
Part2currentFrame_x = part2.transform.localEulerAngles.x;
|
||
|
Part3currentFrame_z = part3.transform.localPosition.z;
|
||
|
Part4currentFrame_z = part4.transform.localPosition.z;
|
||
|
Part5currentFrame_z = part5.transform.localPosition.z;
|
||
|
Part6currentFrame_z = part6.transform.localEulerAngles.z;
|
||
|
Part7currentFrame_z = part7.transform.localEulerAngles.z;
|
||
|
|
||
|
if (Mathf.Abs(Part1currentFrame_y - Part1lastFrame_y) > THRESHOLD ||
|
||
|
Mathf.Abs(Part2currentFrame_x - Part2lastFrame_x) > THRESHOLD ||
|
||
|
Mathf.Abs(Part3currentFrame_z - Part3lastFrame_z) > THRESHOLD ||
|
||
|
Mathf.Abs(Part4currentFrame_z - Part4lastFrame_z) > THRESHOLD ||
|
||
|
Mathf.Abs(Part5currentFrame_z - Part5lastFrame_z) > THRESHOLD ||
|
||
|
Mathf.Abs(Part6currentFrame_z - Part6lastFrame_z) > THRESHOLD ||
|
||
|
Mathf.Abs(Part7currentFrame_z - Part7lastFrame_z) > THRESHOLD
|
||
|
)
|
||
|
{
|
||
|
MessageDispatcher.SendMessage("RecordControlJuBiEvent", (object)this.name);
|
||
|
}
|
||
|
Part1lastFrame_y = Part1currentFrame_y;
|
||
|
Part2lastFrame_x = Part2currentFrame_x;
|
||
|
Part3lastFrame_z = Part3currentFrame_z;
|
||
|
Part4lastFrame_z = Part4currentFrame_z;
|
||
|
Part5lastFrame_z = Part5currentFrame_z;
|
||
|
Part6lastFrame_z = Part6currentFrame_z;
|
||
|
Part7lastFrame_z = Part7currentFrame_z;
|
||
|
timer = TIMESTAMP;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public override void LeftShift_J(IMessage message)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
public override void LeftShift_U(IMessage message)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
}
|