Ejemplo n.º 1
0
        private static void StartChase(ILivingCreature animal)
        {
            var    pray   = animal as Animal;
            Hunter hunter = new Hunter();

            hunter.Chase(pray);
        }
Ejemplo n.º 2
0
        public override bool Execute(Player player)
        {
            string notify = "Talk_";
            string name   = "";

            if (this.QWords.Count == 0)
            {
                player.OutputMessage("\nTalk to who?");
                return(false);
            }
            else
            {
                while (this.QWords.Count != 0)
                {
                    name += this.QWords.Dequeue() + " ";
                }

                name    = name.TrimEnd();
                notify += name;
                ILivingCreature npc = player.CurrentRoom.GetNpc(name);
                if (npc != null)
                {
                    NotificationCenter.Instance.PostNotification(new Notification(notify, player));
                    player.OutputMessage("\nType 'leave' to end the interaction");
                }
                else
                {
                    player.OutputMessage("\nThat person is not in this room?\n");
                    player.OutputMessage(player.CurrentRoom.Description());
                }
            }
            return(false);
        }
Ejemplo n.º 3
0
        public ILivingCreature GetNpc(string name)
        {
            ILivingCreature npc = null;

            RoomNpcs.TryGetValue(name, out npc);
            return(npc);
        }
Ejemplo n.º 4
0
 {                                           //można to realizować poprzez event do którego podpinają się zwierzęta
     public void Chase(ILivingCreature pray) //powinien informować tylko o tym że zaczynam gonić
     {
         Console.WriteLine($"Hunter tries to catch the {(pray as Animals.Animal).NameOfAnimial()},");
         if (pray.TryToRunAway())
         {
             pray.RunAway();
             return;
         }
         else
         {
             Console.WriteLine($"Hunter caught the {(pray as Animals.Animal).NameOfAnimial()}");
         }
     }
Ejemplo n.º 5
0
 public void RemoveNpc(ILivingCreature npc)
 {
     RoomNpcs.Remove(npc.Name);
 }
Ejemplo n.º 6
0
 public void AddNpc(ILivingCreature npc)
 {
     RoomNpcs[npc.Name] = npc;
 }