Beispiel #1
0
        // Called when a module is mounted on one of the vehicle's module mounts.
        protected override void OnModuleMounted(Module module)
        {
            // Look for target leading weapons
            TargetLeader targetLeader = module.GetComponent <TargetLeader>();

            if (targetLeader != null)
            {
                if (!targetLeaders.Contains(targetLeader))
                {
                    targetLeaders.Add(targetLeader);

                    onTargetLeaderLoaded.Invoke(targetLeader);
                }
            }

            // Look for locking weapons
            TargetLocker targetLocker = module.GetComponent <TargetLocker>();

            if (targetLocker != null)
            {
                if (!targetLockers.Contains(targetLocker))
                {
                    targetLockers.Add(targetLocker);

                    onTargetLockerLoaded.Invoke(targetLocker);
                }
            }

            // Look for aim assists
            AimAssist aimAssist = module.GetComponent <AimAssist>();

            if (aimAssist != null)
            {
                if (!aimAssists.Contains(aimAssist))
                {
                    aimAssist.IndependentUpdate = aimAssistEnabled;
                    aimAssists.Add(aimAssist);
                }
            }

            // Look for gimbaled weapons
            GimbalController gimbalController = module.GetComponentInChildren <GimbalController>();

            if (gimbalController != null)
            {
                if (!gimbaledWeapons.Contains(gimbalController))
                {
                    gimbaledWeapons.Add(gimbalController);
                }
            }
        }
Beispiel #2
0
        // Called when a module is unmounted from one of the vehicle's module mounts.
        protected override void OnModuleUnmounted(Module module)
        {
            // Unlink target leading weapons
            TargetLeader targetLeader = module.GetComponent <TargetLeader>();

            if (targetLeader != null)
            {
                if (targetLeaders.Contains(targetLeader))
                {
                    targetLeaders.Remove(targetLeader);
                }
            }

            // Unlink target locking weapons
            TargetLocker targetLocker = module.GetComponent <TargetLocker>();

            if (targetLocker != null)
            {
                if (targetLockers.Contains(targetLocker))
                {
                    targetLockers.Remove(targetLocker);
                }
            }

            // Unlink target locking weapons
            AimAssist aimAssist = module.GetComponent <AimAssist>();

            if (aimAssist != null)
            {
                if (aimAssists.Contains(aimAssist))
                {
                    aimAssists.Remove(aimAssist);
                }
            }

            // Look for gimbaled weapons
            GimbalController gimbalController = module.GetComponentInChildren <GimbalController>();

            if (gimbalController != null)
            {
                if (gimbaledWeapons.Contains(gimbalController))
                {
                    gimbaledWeapons.Remove(gimbalController);
                }
            }
        }