Exemplo n.º 1
0
        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}");
            }
        }
Exemplo n.º 2
0
 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
                    );
            }
Exemplo n.º 4
0
 private void HandleGameEvents()
 {
     CompletedEvents.ForEach(e =>
     {
         if (GameEvents.ContainsKey(e))
         {
             GameEvents[e].Invoke();
         }
     });
 }
Exemplo n.º 5
0
        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);
                }
            }
Exemplo n.º 7
0
        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();
            }