示例#1
0
 public void FixedUpdate()
 {
     if (radar)
     {
         radar.SelectNearestEnemy();
         target = radar.GetSelectedTarget();
     }
     if (target)
     {
         AlignToSelectedTarget();
         var nextFireAt = lastFiredAt + 0.25f;
         if (aircraftWeapon && radar.IsLocked() && nextFireAt < Time.time)
         {
             aircraftWeapon.FireWeapon();
             lastFiredAt = Time.time;
         }
     }
     else if (waypoint)
     {
         if (IsPositionReached(waypoint.position))
         {
             waypoint = waypoint.GetNearest();
         }
         if (IsPositionReachable(waypoint.position))
         {
             AlignToWaypoint();
         }
         else
         {
             AlignToHorizon();
         }
     }
     else
     {
         AlignToHorizon();
     }
     if (rigidbody.velocity.magnitude < aircraft.speedStall)
     {
         aircraft.ApplySpeedControl(1f, 0f);
     }
     if (rigidbody.velocity.magnitude > aircraft.speedNominal)
     {
         aircraft.ApplySpeedControl(0f, 0f);
     }
 }
示例#2
0
        // Update is called once per frame
        public void FixedUpdate()
        {
            // Read input for the pitch, yaw, roll and throttle of the aeroplane.
            var inputRoll     = CrossPlatformInputManager.GetAxis("Roll");
            var inputPitch    = CrossPlatformInputManager.GetAxis("Pitch");
            var inputYaw      = CrossPlatformInputManager.GetAxis("Yaw");
            var inputThrottle = CrossPlatformInputManager.GetAxis("Throttle");
            var inputBrakes   = CrossPlatformInputManager.GetAxis("Brakes");

            // Apply controls
            aircraft.ApplyHeadingControl(inputPitch, inputRoll, inputYaw);
            aircraft.ApplySpeedControl(inputThrottle, inputBrakes);

            // Cycle targets
            if (radar)
            {
                var inputSwitchTarget = CrossPlatformInputManager.GetButtonDown("SwitchTarget");
                if (inputSwitchTarget)
                {
                    radar.CycleTargets();
                }
            }
        }