/// <summary> /// </summary> /// <param name="eventType"> </param> /// <param name="eventArgs"> </param> public TimelineChangedEvent(TimelineEventType eventType, params object[] eventArgs) { EventType = eventType; EventArgs = eventArgs; }
/// <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)); }
public GameEvent(TimelineEventType type, bool timed, int duration = 0) { this.type = type; this.timed = timed; this.duration = duration; }
/* * GameEvent- * A game event is a phase of gameplay that all players experience simultaneously. * For example, watching an intro, the adventurer being chosen, cards being played, * the adventurer making a decision, each of these sections of play is a game event. * * type - What TimelineEventType is associated with this game event? * timed - Is this an event with a timer, or can it go on as long as the players want it to go on for? * duration - (optional) Default 0. If timed, how long does the timer last? * * */ public GameEvent() { this.type = TimelineEventType.None; this.timed = false; this.duration = 0; }