using DG.Tweening;
using System.Collections;
using UnityEngine;
///
/// 高喷车控制
///
public class GaoPenCheController : ElevatingController
{
protected override void Init()
{
//StartCoroutine(OnAnimationPlay());
}
///
/// 实例化时主臂和二级臂展开
///
///
private IEnumerator OnAnimationPlay()
{
yield return new WaitForSeconds(1f);
part2.transform.DORotate(new Vector3(-65f, 0f, 0f), 1f);
yield return new WaitForSeconds(1f);
part7.transform.DOLocalRotateQuaternion(Quaternion.Euler(new Vector3(90f,0,0)), 2f);
}
///
/// 主臂控制
///
protected override void MainArmControl()
{
base.MainArmControl();
if (ctrlDown && Input.GetKey(PowerManager.Instance.up))
{
if (!firstFull)
{
float z = part3.transform.localPosition.z;
if (z > 12.4)
{
firstFull = true;
}
else
{
firstZero = false;
part3.transform.localPosition = new Vector3(part3Pos.x, part3Pos.y, z + Time.deltaTime * zSpeed);
}
}
else if (firstFull && !secondFull && !thirdFull && !fourthFull)
{
float z = part4.transform.localPosition.z;
if (z > 11.9)
{
secondFull = true;
}
else
{
secondZero = false;
part4.transform.localPosition = new Vector3(part4Pos.x, part4Pos.y, z + Time.deltaTime * zSpeed);
}
}
else if (firstFull && secondFull && !thirdFull && !fourthFull)
{
float z = part5.transform.localPosition.z;
if (z > 11.9)
{
thirdFull = true;
}
else
{
thirdZero = false;
part5.transform.localPosition = new Vector3(part5Pos.x, part5Pos.y, z + Time.deltaTime * zSpeed);
}
}
else if (firstFull && secondFull && thirdFull && !fourthFull)
{
float z = part6.transform.localPosition.z;
if (z > 11.9)
{
fourthFull = true;
}
else
{
fourthZero = false;
part6.transform.localPosition = new Vector3(part6Pos.x, part6Pos.y, z + Time.deltaTime * zSpeed);
}
}
}
else if (ctrlDown && Input.GetKey(PowerManager.Instance.down))
{
if (!fourthZero)
{
float z = part6.transform.localPosition.z;
if (z < 0)
{
fourthZero = true;
}
else
{
fourthFull = false;
part6.transform.localPosition = new Vector3(part6Pos.x, part6Pos.y, z - Time.deltaTime * zSpeed);
}
}
else if (fourthZero && !thirdZero && !secondZero && !firstZero)
{
float z = part5.transform.localPosition.z;
if (z < 0)
{
thirdZero = true;
}
else
{
thirdFull = false;
part5.transform.localPosition = new Vector3(part5Pos.x, part5Pos.y, z - Time.deltaTime * zSpeed);
}
}
else if (fourthZero && thirdZero && !secondZero && !firstZero)
{
float z = part4.transform.localPosition.z;
if (z < 0)
{
secondZero = true;
}
else
{
secondFull = false;
part4.transform.localPosition = new Vector3(part4Pos.x, part4Pos.y, z - Time.deltaTime * zSpeed);
}
}
else if (fourthZero && thirdZero && secondZero && !firstZero)
{
float z = part3.transform.localPosition.z;
if (z < 0)
{
firstZero = true;
}
else
{
firstFull = false;
part3.transform.localPosition = new Vector3(part3Pos.x, part3Pos.y, z - Time.deltaTime * zSpeed);
}
}
}
}
///
/// 二级臂控制
///
protected override void SecondArmControl()
{
if (ctrlDown && Input.GetKey(PowerManager.Instance.waterGunUp))
{
part7.transform.Rotate(-Time.deltaTime * rotSpeed, 0, 0);
}
else if (ctrlDown && Input.GetKey(PowerManager.Instance.waterGunDown))
{
part7.transform.Rotate(Time.deltaTime * rotSpeed, 0, 0);
}
}
}