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.
662 lines
26 KiB
662 lines
26 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 ControlJuGaoChe : 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 water;
|
||
|
private CarMessage CarMess;
|
||
|
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;
|
||
|
bool zero = true;
|
||
|
bool full = false;
|
||
|
public bool Min = false;
|
||
|
public bool Max = false;
|
||
|
//public LouCengControllor zSpeedId;
|
||
|
bool TheOneFull = true;
|
||
|
bool TheOneZero = false;
|
||
|
bool TheTwoFull = true;
|
||
|
bool TheTwoZero = false;
|
||
|
bool TheThreeFull = true;
|
||
|
bool TheThreeZero = false;
|
||
|
|
||
|
|
||
|
private GameObject CarControlToggle;
|
||
|
GameObject TimeZhou;
|
||
|
public float GetRiseNum;
|
||
|
//public int RiseNum;
|
||
|
float part;
|
||
|
public float MaxRise = 32;
|
||
|
Slider zSpeedId;
|
||
|
float SpeedBase = 30;
|
||
|
private Car_3_JGC_GPC_YTC_Rise_Attribute carAttribut = new Car_3_JGC_GPC_YTC_Rise_Attribute();
|
||
|
public Car_3_JGC_GPC_YTC_Rise_Attribute CarAttribut
|
||
|
{
|
||
|
set
|
||
|
{
|
||
|
carAttribut = value;
|
||
|
firstZero = carAttribut.FirstZero;
|
||
|
firstFull = carAttribut.FirstFull;
|
||
|
secondZero = carAttribut.SecondZero;
|
||
|
secondFull = carAttribut.SecondFull;
|
||
|
thirdZero = carAttribut.ThirdZero;
|
||
|
thirdFull = carAttribut.ThirdFull;
|
||
|
//RiseNum = carAttribut.RiseNum;
|
||
|
MaxRise = carAttribut.MaxRise;
|
||
|
}
|
||
|
get
|
||
|
{
|
||
|
carAttribut.FirstZero = firstZero;
|
||
|
carAttribut.FirstFull = firstFull;
|
||
|
carAttribut.SecondZero = secondZero;
|
||
|
carAttribut.SecondFull = secondFull;
|
||
|
carAttribut.ThirdZero = thirdZero;
|
||
|
carAttribut.ThirdFull = thirdFull;
|
||
|
//carAttribut.RiseNum = RiseNum;
|
||
|
carAttribut.MaxRise = MaxRise;
|
||
|
return carAttribut;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public ArrayList GetBoolState()
|
||
|
{
|
||
|
ArrayList boolList = new ArrayList();
|
||
|
boolList.Add(firstZero);
|
||
|
boolList.Add(firstFull);
|
||
|
boolList.Add(secondZero);
|
||
|
boolList.Add(secondFull);
|
||
|
boolList.Add(thirdZero);
|
||
|
boolList.Add(thirdFull);
|
||
|
boolList.Add(zero);
|
||
|
boolList.Add(full);
|
||
|
return boolList;
|
||
|
}
|
||
|
public void SetBoolState(ArrayList boollist)
|
||
|
{
|
||
|
if (boollist.Count < 8)
|
||
|
return;
|
||
|
firstZero = (bool)boollist[0];
|
||
|
firstFull = (bool)boollist[1];
|
||
|
secondZero = (bool)boollist[2];
|
||
|
secondFull = (bool)boollist[3];
|
||
|
thirdZero = (bool)boollist[4];
|
||
|
thirdFull = (bool)boollist[5];
|
||
|
zero = (bool)boollist[6];
|
||
|
full = (bool)boollist[7];
|
||
|
}
|
||
|
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/pingtai").gameObject;
|
||
|
part9 = part7.transform.Find("shuipao").gameObject;
|
||
|
part8 = this.transform.Find("polySurface3148/zhijia").gameObject;
|
||
|
//water = part9.transform.FindChild("Hose").gameObject;
|
||
|
part = (int)(100 / 5);
|
||
|
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_x = part6.transform.localEulerAngles.x;
|
||
|
Part1lastFrame_y = Part1currentFrame_y;
|
||
|
Part2lastFrame_x = Part2currentFrame_x;
|
||
|
Part3lastFrame_z = Part3currentFrame_z;
|
||
|
Part4lastFrame_z = Part4currentFrame_z;
|
||
|
Part5lastFrame_z = Part5currentFrame_z;
|
||
|
Part6lastFrame_x = Part6currentFrame_x;
|
||
|
|
||
|
zSpeedId = GameObject.Find("Canvas").transform.Find("控制举臂").GetComponent<ControlRiseCar>().TheSlider;
|
||
|
|
||
|
CarControlToggle = GameObject.Find("Canvas").transform.Find("控制举臂").gameObject;
|
||
|
}
|
||
|
//void OnDestroy()
|
||
|
//{
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_W_JGC", LeftShift_W_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_S_JGC", LeftShift_S_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("W_JGC", W_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("S_JGC", S_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("U_JGC", U_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("J_JGC", J_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("A_JGC", A_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("D_JGC", D_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("H_JGC", H_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("K_JGC", K_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_U_JGC", LeftShift_U_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_J_JGC", LeftShift_J_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Equals_JGC", Equals_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Minus_JGC", Minus_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("BackZhiJia", BackZhiJia);
|
||
|
//}
|
||
|
//void OnDisable()
|
||
|
//{
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_W_JGC", LeftShift_W_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_S_JGC", LeftShift_S_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("W_JGC", W_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("S_JGC", S_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("U_JGC", U_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("J_JGC", J_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("A_JGC", A_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("D_JGC", D_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("H_JGC", H_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("K_JGC", K_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_U_JGC", LeftShift_U_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("LeftShift_J_JGC", LeftShift_J_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Equals_JGC", Equals_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("Minus_JGC", Minus_JGC, "CUBE");
|
||
|
// MessageDispatcher.RemoveListener("BackZhiJia", BackZhiJia);
|
||
|
//}
|
||
|
//void OnEnable()
|
||
|
//{
|
||
|
// MessageDispatcher.AddListener("LeftShift_W_JGC", LeftShift_W_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("LeftShift_S_JGC", LeftShift_S_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("W_JGC", W_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("S_JGC", S_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("U_JGC", U_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("J_JGC", J_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("A_JGC", A_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("D_JGC", D_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("H_JGC", H_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("K_JGC", K_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("LeftShift_U_JGC", LeftShift_U_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("LeftShift_J_JGC", LeftShift_J_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("Equals_JGC", Equals_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("Minus_JGC", Minus_JGC, "CUBE");
|
||
|
// MessageDispatcher.AddListener("BackZhiJia", BackZhiJia);
|
||
|
//}
|
||
|
public override void BackZhiJia(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
part1.transform.localPosition = new Vector3(-0.09668041f, 2.987368f, -4.938063f);
|
||
|
part1.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part2.transform.localPosition = new Vector3(0.04685513f, 2.295632f, -1.095285f);
|
||
|
part2.transform.localEulerAngles = new Vector3(-5.954f, 0, 0);
|
||
|
part3.transform.localPosition = new Vector3(0.02088456f, 0.1439531f, 0.2888333f);
|
||
|
part3.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part4.transform.localPosition = new Vector3(-0.01290758f, 0.08318195f, 0.1470551f);
|
||
|
part4.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part5.transform.localPosition = new Vector3(-0.03615425f, 0.2560756f, 0.04462866f);
|
||
|
part5.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part6.transform.localPosition = new Vector3(0f, -1.03678f, 19.41323f);
|
||
|
part6.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
|
part9.transform.localPosition = new Vector3(-0.088f, 0.745f, 0.848f);
|
||
|
part9.transform.localEulerAngles = new Vector3(2.725f, 362.828f, 2.006f);
|
||
|
part7.transform.localEulerAngles = new Vector3(172.927f, -180.096f, 179.22f);
|
||
|
part7.transform.localPosition = new Vector3(0.049f, -1.467f, -15.608f);
|
||
|
|
||
|
MaxRise = 32;
|
||
|
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) <= part * 2)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
float TheHeigh = MaxRise + part3.transform.localPosition.z + part4.transform.localPosition.z + part5.transform.localPosition.z;
|
||
|
if (TheHeigh > float.Parse(CarMess.Heigh))
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!firstFull)
|
||
|
{
|
||
|
float z = part3.transform.localPosition.z;
|
||
|
if (float.Parse(CarMess.Heigh) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 19.4f)
|
||
|
{
|
||
|
firstFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part3.transform.localPosition;
|
||
|
newVector.z = 19.4f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
firstZero = false;
|
||
|
part3.transform.localPosition = new Vector3(0.016f, 0.174f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (float.Parse(CarMess.Heigh) - MaxRise >= part)
|
||
|
{
|
||
|
if (z >= 0 && z < 19.4f)
|
||
|
{
|
||
|
|
||
|
firstZero = false;
|
||
|
part3.transform.localPosition = new Vector3(-0.025f, 0.174f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
firstFull = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else if (firstFull && !secondFull)
|
||
|
{
|
||
|
float z = part4.transform.localPosition.z;
|
||
|
if (float.Parse(CarMess.Heigh) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 19.4f)
|
||
|
{
|
||
|
secondFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part4.transform.localPosition;
|
||
|
newVector.z = 19.4f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
secondZero = false;
|
||
|
part4.transform.localPosition = new Vector3(-0.038f, 0.197f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (float.Parse(CarMess.Heigh) - MaxRise >= part)
|
||
|
{
|
||
|
if (z >= 0 && z < 19.4f)
|
||
|
{
|
||
|
secondZero = false;
|
||
|
part4.transform.localPosition = new Vector3(0.025f, 0.197f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
secondFull = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else if (secondFull && !thirdFull)
|
||
|
{
|
||
|
float z = part5.transform.localPosition.z;
|
||
|
if (float.Parse(CarMess.Heigh) - MaxRise >= part)
|
||
|
{
|
||
|
if (z > 19.4f)
|
||
|
{
|
||
|
thirdFull = true;
|
||
|
//MaxRise += part;
|
||
|
Vector3 newVector = part5.transform.localPosition;
|
||
|
newVector.z = 19.4f;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
thirdZero = false;
|
||
|
part5.transform.localPosition = new Vector3(-0.038f, 0.197f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (float.Parse(CarMess.Heigh) - MaxRise >= part)
|
||
|
{
|
||
|
if (z >= 0 && z < 19.4f)
|
||
|
{
|
||
|
thirdZero = false;
|
||
|
part5.transform.localPosition = new Vector3(0.025f, 0.197f, z + Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
thirdFull = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
} //LeftShift_W控制车臂伸长
|
||
|
public override void LeftShift_S(IMessage message)//LeftShift_S控制车臂的缩短
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if (!thirdZero)
|
||
|
{
|
||
|
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.038f, 0.197f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
else if (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.038f, 0.197f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else if (secondZero && !firstZero)
|
||
|
{
|
||
|
float z = part3.transform.localPosition.z;
|
||
|
if (z <= 0)
|
||
|
{
|
||
|
firstZero = true;
|
||
|
MaxRise = 32;
|
||
|
Vector3 newVector=part3.transform.localPosition;
|
||
|
newVector.z=0;
|
||
|
part3.transform.localPosition = newVector;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
firstFull = false;
|
||
|
part3.transform.localPosition = new Vector3(0.016f, 0.174f, z - Time.deltaTime * zSpeedId.value * SpeedBase / aspect);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void W(IMessage message)//W控制车臂抬起
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if (part2.transform.localEulerAngles.x >= 285 && part2.transform.localEulerAngles.x <= 359)
|
||
|
{
|
||
|
part2.transform.Rotate(-Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void S(IMessage message)//S控制车臂的放下
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
if (part2.transform.localEulerAngles.x > 353.5)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
part2.transform.Rotate(Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void A(IMessage message)//A控制车臂的左旋转
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
part1.transform.Rotate(0, -Time.deltaTime * zSpeedId.value * SpeedBase, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void D(IMessage message)//D控制车臂的右旋转
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
part1.transform.Rotate(0, Time.deltaTime * zSpeedId.value * SpeedBase, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void H(IMessage message)//H控制喷水头的左旋转
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part9.transform.Rotate(0, -Time.deltaTime * zSpeedId.value * SpeedBase, 0, Space.World);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void K(IMessage message)//K控制喷水头的右旋转
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part9.transform.Rotate(0, Time.deltaTime * zSpeedId.value * SpeedBase, 0, Space.World);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
public override void U(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part9.transform.Rotate(-Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
public override void J(IMessage message)
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
part9.transform.Rotate(Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public override void LeftShift_U(IMessage message)//LeftShift_U控制喷水臂的收回
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if(gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
part6.transform.Rotate(-Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
public override void LeftShift_J(IMessage message)//LeftShift_J控制喷水臂的抬起
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if(gameObject.GetComponent<LineamentEvent>().ControlJuBi && CarControlToggle.activeInHierarchy)
|
||
|
{
|
||
|
part6.transform.Rotate(Time.deltaTime * zSpeedId.value * SpeedBase, 0, 0);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
public override void Equals(IMessage message)//Equals控制水流增加
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
if (part9.transform.Find("Hose").childCount > 0)
|
||
|
{
|
||
|
ParticleSystemControl scale = part9.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)//Minus控制水流减少
|
||
|
{
|
||
|
if ((string)message.Data == this.gameObject.name)
|
||
|
{
|
||
|
if (gameObject.GetComponent<LineamentEvent>().ControlShuiPao)
|
||
|
{
|
||
|
if (part9.transform.Find("Hose").childCount > 0)
|
||
|
{
|
||
|
ParticleSystemControl scale = part9.transform.Find("Hose").GetChild(0).GetComponent<ParticleSystemControl>();
|
||
|
scale.waterStraightScale -= Time.deltaTime * 0.5f;
|
||
|
|
||
|
}
|
||
|
|
||
|
//scale.waterFogScale -= Time.deltaTime * 0.5f;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void NewSetBool()
|
||
|
{
|
||
|
MaxRise = 32;
|
||
|
|
||
|
firstZero = true;
|
||
|
firstFull = false;
|
||
|
secondZero = true;
|
||
|
secondFull = false;
|
||
|
thirdZero = true;
|
||
|
thirdFull = false;
|
||
|
|
||
|
zero = true;
|
||
|
full = false;
|
||
|
|
||
|
TheOneFull = true;
|
||
|
TheOneZero = false;
|
||
|
TheTwoFull = true;
|
||
|
TheTwoZero = false;
|
||
|
TheThreeFull = true;
|
||
|
TheThreeZero = false;
|
||
|
}
|
||
|
|
||
|
|
||
|
bool OneUp = false;
|
||
|
bool OneDown = false;
|
||
|
bool TwoUp = false;
|
||
|
bool TwoDown = false;
|
||
|
bool ThreeUp = false;
|
||
|
bool ThreeDown = false;
|
||
|
|
||
|
float TIMESTAMP = 1f;
|
||
|
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_x;
|
||
|
float Part6currentFrame_x;
|
||
|
void Update()
|
||
|
{
|
||
|
if (GetComponent<LineamentEvent>().ControlJuBi)
|
||
|
{
|
||
|
|
||
|
var theta = Vector3.Dot(part7.transform.forward, Vector3.up);
|
||
|
var angle = Mathf.Rad2Deg * theta;
|
||
|
part7.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_x = part6.transform.localEulerAngles.x;
|
||
|
|
||
|
|
||
|
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_x - Part6lastFrame_x) > 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_x = Part6currentFrame_x;
|
||
|
timer = TIMESTAMP;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|