Пример #1
0
        private IFight CreateNewFight()
        {
            var fight = new Fight(YouAre, CharResolver);

            Fights.Add(fight);
            return(fight);
        }
Пример #2
0
        public Fight Fight()
        {
            var oldScore = CurrentScore;

            var fight = new MPQSim.Fight()
            {
                Node = Node,
                Time = Owner.Owner.CurrentTime,
                Score = oldScore
            };

            Fights.Add(fight);

            return fight;
        }
Пример #3
0
 public void StartFight(Combat combat)
 {
     Fights.Add(combat);
     combat.Start();
 }
Пример #4
0
        /// <summary>
        /// </summary>
        /// <param name="eventType"> </param>
        /// <param name="eventArgs"> </param>
        public void PublishTimelineEvent(TimelineEventType eventType, params object[] eventArgs)
        {
            var args = (eventArgs != null && eventArgs.Any()) ? eventArgs[0] : "(no args)";

            Logging.Log(Logger, String.Format("TimelineEvent : {0} {1}", eventType, args));
            if (eventArgs != null)
            {
                var monsterName = eventArgs.First() as String;
                switch (eventType)
                {
                case TimelineEventType.PartyJoin:
                case TimelineEventType.PartyDisband:
                case TimelineEventType.PartyLeave:
                    break;

                case TimelineEventType.PartyMonsterFighting:
                case TimelineEventType.AllianceMonsterFighting:
                case TimelineEventType.OtherMonsterFighting:
                    DeathFound = false;
                    if (monsterName != null && (monsterName.ToLower()
                                                .Contains("target") || monsterName == ""))
                    {
                        break;
                    }
                    Fight fighting;
                    if (!Fights.TryGet(monsterName, out fighting))
                    {
                        fighting = new Fight(monsterName);
                        Fights.Add(fighting);
                    }
                    Controller.Timeline.LastEngaged = monsterName;
                    break;

                case TimelineEventType.PartyMonsterKilled:
                case TimelineEventType.AllianceMonsterKilled:
                case TimelineEventType.OtherMonsterKilled:
                    DeathFound = true;
                    if (monsterName != null && (monsterName.ToLower()
                                                .Contains("target") || monsterName == ""))
                    {
                        break;
                    }
                    Fight killed;
                    if (!Fights.TryGet(monsterName, out killed))
                    {
                        killed = new Fight(monsterName);
                        Fights.Add(killed);
                    }
                    switch (eventType)
                    {
                    case TimelineEventType.PartyMonsterKilled:
                        GetSetMonster(monsterName)
                        .SetKill(killed);
                        break;

                    case TimelineEventType.AllianceMonsterKilled:
                        GetSetMonster(monsterName)
                        .SetKill(killed);
                        break;

                    case TimelineEventType.OtherMonsterKilled:
                        GetSetMonster(monsterName)
                        .SetKill(killed);
                        break;
                    }
                    Controller.Timeline.LastKilled = monsterName;
                    break;
                }
            }
            RaiseTimelineChangedEvent(this, new TimelineChangedEvent(eventType, eventArgs));
        }
Пример #5
0
 public void AddFight(Fights.Fight fight)
 {
     lock (Fights)
         Fights.Add(fight);
 }