using UnityEngine; public class vp_SecurityCamTurret : vp_SimpleAITurret { private vp_AngleBob m_AngleBob; public GameObject Swivel; private Vector3 SwivelRotation = Vector3.zero; public float SwivelAmp = 100f; public float SwivelRate = 0.5f; public float SwivelOffset; private vp_Timer.Handle vp_ResumeSwivelTimer = new vp_Timer.Handle(); protected override void Start() { base.Start(); m_Transform = base.transform; m_AngleBob = base.gameObject.AddComponent(); m_AngleBob.BobAmp.y = SwivelAmp; m_AngleBob.BobRate.y = SwivelRate; m_AngleBob.YOffset = SwivelOffset; m_AngleBob.FadeToTarget = true; SwivelRotation = Swivel.transform.eulerAngles; } protected override void Update() { base.Update(); if (m_Target != null && m_AngleBob.enabled) { m_AngleBob.enabled = false; vp_ResumeSwivelTimer.Cancel(); } if (m_Target == null && !m_AngleBob.enabled && !vp_ResumeSwivelTimer.Active) { vp_Timer.In(WakeInterval * 2f, delegate { m_AngleBob.enabled = true; }, vp_ResumeSwivelTimer); } SwivelRotation.y = m_Transform.eulerAngles.y; Swivel.transform.eulerAngles = SwivelRotation; } }