Example #1
0
        public override void ActivateShootingTargetAt(IShootingTargetSpawnPoint point)
        {
            IGlidingTargetSpawnPoint typedPoint = (IGlidingTargetSpawnPoint)point;
            IGlidingTarget           nextTarget = GetNext();

            nextTarget.ActivateAt(typedPoint);
        }
        public override void ActivateShootingTargetAt(IShootingTargetSpawnPoint point)
        {
            IStaticShootingTarget   target     = GetNext();
            IStaticTargetSpawnPoint typedPoint = (IStaticTargetSpawnPoint)point;

            target.ActivateAt(typedPoint);
        }
        public override void ActivateShootingTargetAt(IShootingTargetSpawnPoint point)
        {
            IFlyingTargetWaypointManager waypointManager = ((IFlyingTargetSpawnPoint)point).GetWaypointManager();
            IFlyingTarget target = GetNext();

            target.ActivateAt(waypointManager);
        }
Example #4
0
 public SpawnPointEventPointPair(
     IShootingTargetSpawnPoint spawnPoint,
     float eventPoint
     )
 {
     thisSpawnPoint = spawnPoint;
     thisEventPoint = eventPoint;
 }
            public ConstArg(
                IShootingTargetReserve reserve,
                IShootingTargetSpawnPoint point,

                float eventPoint,
                ILevelSectionShootingTargetSpawner spawner
                ) : base(
                    eventPoint
                    )
            {
                thisReserve = reserve;
                thisPoint   = point;
                thisSapwner = spawner;
            }
Example #6
0
        ISpawnPointEventPointPair[] CreatePairs(SpawnPointAdaptorEventPointPair[] adaptorPairs)
        {
            List <ISpawnPointEventPointPair> pairs = new List <ISpawnPointEventPointPair>();

            foreach (SpawnPointAdaptorEventPointPair adaptorPair in adaptorPairs)
            {
                IShootingTargetSpawnPoint spawnPoint = adaptorPair.adaptor.GetSpawnPoint();
                float eventPoint = adaptorPair.eventPoint;
                pairs.Add(new SpawnPointEventPointPair(
                              spawnPoint,
                              eventPoint
                              ));
            }
            return(pairs.ToArray());
        }
Example #7
0
 void DeactivateSpawnedTargets()
 {
     IShootingTargetSpawnWaypointEvent[] spawnEvents = thisSpawnEvents;
     if (spawnEvents != null)
     {
         foreach (IShootingTargetSpawnWaypointEvent spawnEvent in spawnEvents)
         {
             IShootingTargetSpawnPoint spawnPoint    = spawnEvent.GetSpawnPoint();
             IShootingTarget           spawnedTarget = spawnPoint.GetSpawnedTarget();
             if (spawnedTarget != null)
             {
                 spawnedTarget.Deactivate();
             }
         }
     }
 }
Example #8
0
 public abstract void ActivateShootingTargetAt(IShootingTargetSpawnPoint point);
Example #9
0
        protected IShootingTargetSpawnWaypointEvent[] CreateSpawnEventsForEntry(
            IShootingTargetSpawnPoint[] spawnPoints,
            IShootingTargetReserve reserve,
            int[] indicesToSpawn
            )
        {
            List <IShootingTargetSpawnWaypointEvent> resultList = new List <IShootingTargetSpawnWaypointEvent>();

            float sumOfTargetRareProbability = GetSumOfTargetTypeRareChance(
                indicesToSpawn.Length,
                reserve.GetTargetTypeRareProbability()
                );
            float sumOfRelativeRareChance = GetSumOfRelativeRareChance(
                spawnPoints,
                indicesToSpawn
                );

            foreach (int spawnPointIndex in indicesToSpawn)
            {
                IShootingTargetSpawnPoint spawnPoint = spawnPoints[spawnPointIndex];

                IShootingTargetReserve resultReserve = reserve;

                float rareProbability = GetRareProbability(
                    spawnPoint.GetRelativeRareChance(),
                    sumOfRelativeRareChance,
                    sumOfTargetRareProbability
                    );
                bool isRare = false;

                if (this.ShouldSpawnRare(rareProbability))
                {
                    isRare = true;
                    IShootingTargetReserve rareTargetReserve = GetRareTargetReserve(reserve.GetTargetType());
                    int currentTier = reserve.GetTier();
                    rareTargetReserve.SetTier(currentTier);
                    resultReserve = rareTargetReserve;
                }
                else
                {
                    resultReserve = reserve;
                }

                float eventPoint = spawnPoint.GetEventPoint();

                ShootingTargetSpawnWaypointEvent.IConstArg eventConstArg = new ShootingTargetSpawnWaypointEvent.ConstArg(
                    resultReserve,
                    spawnPoint,
                    eventPoint,
                    this
                    );
                IShootingTargetSpawnWaypointEvent spawnWaypointEvent = new ShootingTargetSpawnWaypointEvent(
                    eventConstArg
                    );

                if (isRare)
                {
                    spawnWaypointEvent.MarkRare();
                }

                resultList.Add(spawnWaypointEvent);
            }
            return(resultList.ToArray());
        }