예제 #1
0
        void SlavedAim()
        {
            Vector3 targetVel;
            Vector3 targetAccel;

            if (weaponManager.slavingTurrets)
            {
                targetPosition = weaponManager.slavedPosition;
                targetVel      = weaponManager.slavedVelocity;
                targetAccel    = weaponManager.slavedAcceleration;

                //targetPosition -= vessel.Velocity * predictedFlightTime;
            }
            else if (legacyGuardTarget)
            {
                targetPosition = legacyGuardTarget.CoM;
                targetVel      = legacyGuardTarget.Velocity();
                targetAccel    = legacyGuardTarget.acceleration;
            }
            else
            {
                targetInTurretView = false;
                return;
            }

            currentTgtRange = Vector3.Distance(targetPosition, rockets[0].parent.transform.position);


            targetPosition += trajectoryOffset;
            targetPosition += targetVel * predictedFlightTime;
            targetPosition += 0.5f * targetAccel * predictedFlightTime * predictedFlightTime;

            turret.AimToTarget(targetPosition);
            targetInTurretView = turret.TargetInRange(targetPosition, 2, maxTargetingRange);
        }
예제 #2
0
        public void SlavedAim()
        {
            if (pausingAfterShot)
            {
                return;
            }

            turret.AimToTarget(slavedTargetPosition);
        }