void Take(string itemName) { if (string.IsNullOrEmpty(itemName)) { Messages.Add("Take what?"); return; } var item = CurrentRoom.TakeItem(itemName); if (item != null) { if (item.Takeable) { Messages.Add($"Added {item.Name} to your inventory"); Inventory.Add(item); CompletedEvents.Add($"{item.Name.ToUpper()}TAKEN"); } else { Messages.Add($"{item.NonTakeableMessage}"); } } else { Messages.Add($"What are you talking about there is no {itemName}"); } }
private void TriggerItemEvent(Item item) { if (CurrentRoom == _rooms["Locked"]) { CompletedEvents.Add("KEYUSED"); GameEvents["KEYUSED"].Invoke(); } }
public void ShouldCauseExpectedCompletedEventWhenSyncingCompletes() { CallMethod(); SendStateMachineEvent(new StateMachineDeadEnd(null)); CompletedEvents.ShouldBeSameEventsAs( ExpectedState ); }
private void HandleGameEvents() { CompletedEvents.ForEach(e => { if (GameEvents.ContainsKey(e)) { GameEvents[e].Invoke(); } }); }
public override int GetDaysRemainingAt(DateTime dateTime) { var diagnosticTestResultAvailableEvent = CompletedEvents.FirstOrDefault(completedEvent => completedEvent.Name.Code == EventCode.DiagnosticsTestResultAvailable); var daysForEntirePeriod = diagnosticTestResultAvailableEvent != null ? GetDaysSpentAt(diagnosticTestResultAvailableEvent.EventDate) + MaximumNumberOfDays : MaximumNumberOfDays; return(daysForEntirePeriod - GetDaysSpentAt(dateTime)); }
private void handleSyncCompleteEvent(SyncResult result) { if (result is Error error) { ReportedErrors.Add(error.Exception); } if (result is Success success) { CompletedEvents.Add(success.Operation); } }
private Game(IGameState gameState) { PlayerName = gameState.PlayerName; Restored = true; foreach (var gameEvent in gameState.EventLog) { CompletedEvents.Add(gameEvent); } Setup(); CurrentRoom = _rooms[gameState.CurrentRoom.Name]; }
public void ShouldNotCauseCompletedEvent() { CallMethod(); CompletedEvents.Should().BeEmpty(); }