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); } } }