Example #1
0
        private UserMessage Play(string subject, int currentRoomIndex, Point location, FindItemInInventoryCb findItemInInventoryCb)
        {
            return new UserMessage(playMessage);

        }
Example #2
0
        private UserMessage Wave(string subject, int currentRoomIndex, Point location, FindItemInInventoryCb findItemInInventoryCb)
        {
            UserMessage userMessage = null;
            foreach(var specialRoomAction in specialRoomActions)
            {
                if(specialRoomAction.RoomId == currentRoomIndex)
                {
                    userMessage = specialRoomAction.RunAction(updateMapCb);
                }
            }
            if (userMessage == null)
            {
                userMessage = new UserMessage();

                userMessage.AddLine("As you wave");
                userMessage.AddLine("the WAND....");
                userMessage.AddLine(" ");
                userMessage.AddLine("  Nothing");
                userMessage.AddLine("  Happens!");
            }
            return userMessage;

        }
Example #3
0
        private UserMessage Read(string subject, int currentRoomIndex, Point location, FindItemInInventoryCb findItemInInventoryCb)
        {
            UserMessage userMessage = new UserMessage();

            CastleItem glasses = findItemInInventoryCb("Glasses");
            if(glasses == null)
            {
                userMessage.AddLine(" You can't see");
                userMessage.AddLine(" well enough");
                userMessage.AddLine(" It's all");
                userMessage.AddLine(" Blurry.");
            }
            else
            {
                userMessage.AddLine("The book reads");
                userMessage.AddLine("  Wave Scepter");
            }


            return userMessage;

        }
Example #4
0
        private UserMessage Drink(string subject, int currentRoomIndex, Point location, FindItemInInventoryCb findItemInInventoryCb)
        {
            if(subject.StartsWith("water", StringComparison.CurrentCultureIgnoreCase) == false)
            {
                return null;
            }
            UserMessage returnMessage = new UserMessage();
            if (Full)
            {
                returnMessage.AddLine("That was Good!");
                if (Thirsty)
                {
                    returnMessage.AddLine("I feel much");
                    returnMessage.AddLine("better now!");
                    Thirsty = false;
                    Empty();
                }
            }
            else
            {
                returnMessage.AddLine("You don't have");
                returnMessage.AddLine("any WATER");
            }

            return returnMessage;
        }
Example #5
0
        private UserMessage GetWater(string subject, int currentRoomIndex, Point location, FindItemInInventoryCb findItemInInventoryCb)
        {
            if (subject.StartsWith("water", StringComparison.CurrentCultureIgnoreCase) == false)
            {
                return null;
            }

            UserMessage returnMessage = new UserMessage();
            
            if (this.CanTakeItem(location))
            {
                CastleItem castleItem = findItemInInventoryCb("flask");
                if(castleItem.IsSpecialCommandSupported(CommandVerb.Drink))
                {
                    DrinkableItem drinkableItem = castleItem as DrinkableItem;
                    if (drinkableItem.Full == false)
                    {
                        drinkableItem.Fill();
                        returnMessage.AddLine("Done");
                    }
                    else
                    {
                        returnMessage.AddLine(" The flask is  full!");
                    }
                }
                else
                {
                    returnMessage.AddLine("You don't have a Container!");
                }

            }
            else
            {
                returnMessage.AddLine(" I can't       reach it!");
            }


            return returnMessage;
        }
Example #6
0
 public UserMessage RunCommand(CommandVerb verb, String subject, int currentRoomIndex, Point location, FindItemInInventoryCb findItemInInventoryCb)
 {
     return SpecialCommandList[verb](subject, currentRoomIndex, location, findItemInInventoryCb);
 }