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.
734 lines
30 KiB
734 lines
30 KiB
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) |
|
{ |
|
|
|
} |
|
}
|
|
|