Esempio n. 1
0
 public void AddInternalThreat(InternalThreat newThreat, int timeAppears)
 {
     newThreat.SetInitialPlacement(timeAppears);
     newThreat.AttackedSittingDuck += (sender, args) => { ThreatAttackedShip(sender, args); };
     newThreat.PlaceOnTrack(InternalTrack);
     InternalThreats.Add(newThreat);
 }
Esempio n. 2
0
        public void AddNewThreatsToTracks(int currentTurn)
        {
            PhaseStarting(this, new PhaseEventArgs {
                PhaseHeader = ResolutionPhase.AddNewThreats.GetDescription()
            });

            var newExternalThreats = ExternalThreats.Where(threat => threat.TimeAppears == currentTurn).ToList();

            foreach (var newThreat in newExternalThreats)
            {
                newThreat.AttackedSittingDuck += (sender, args) => { ThreatAttackedShip(sender, args); };
                newThreat.PlaceOnTrack(ExternalTracks[newThreat.CurrentZone]);
                EventMaster.LogEvent(string.Format(CultureInfo.CurrentCulture, "{0} Appeared", newThreat.DisplayName));
            }

            var newInternalThreats = InternalThreats.Where(threat => threat.TimeAppears == currentTurn).ToList();

            foreach (var newThreat in newInternalThreats)
            {
                newThreat.AttackedSittingDuck += (sender, args) => { ThreatAttackedShip(sender, args); };
                newThreat.PlaceOnTrack(InternalTrack);
                EventMaster.LogEvent(string.Format(CultureInfo.CurrentCulture, "{0} Appeared", newThreat.DisplayName));
            }

            if (!newExternalThreats.Any() && !newInternalThreats.Any())
            {
                EventMaster.LogEvent("No New Threats Appear.");
            }
        }
Esempio n. 3
0
 public void AddInternalTracklessThreat(InternalThreat newThreat)
 {
     InternalThreats.Add(newThreat);
 }