Example #1
0
        private void AddRooms()
        {
            Objects.Door bedroomDoor = new Objects.Door();
            bedroomDoor.closed = true;
            bedroomDoor.locked = true;
            key.ObjectName     = "bedroom key";
            key.alternateNames.Add("key");
            bedroomDoor.keyObject = key;

            livingRoom.exits.Add(new Rooms.RoomExit("north"), kitchen);
            livingRoom.exits.Add(new Rooms.RoomExit("east", true, bedroomDoor), bedroom);
            kitchen.exits.Add(new Rooms.RoomExit("south"), livingRoom);
            bedroom.exits.Add(new Rooms.RoomExit("west", true, bedroomDoor), livingRoom);

            AddToGame("livingroom", livingRoom);
            AddToGame("kitchen", kitchen);
            AddToGame("bedroom", bedroom);


            d***o.ObjectName = "black d***o";
            d***o.alternateNames.Add("d***o");
            AddToRoom(livingRoom, d***o);
            //AddToRoom(livingRoom, "key", key);

            EnterRoom(livingRoom);
        }
 private void ChangeLockState(CommandParameters commandParameters, bool locked)
 {
     string[]     splitStringParams = commandParameters.stringParam.Split(' ');
     Objects.Door doorToChange      = null;
     doorToChange = currentGame.findDoor(doorToChange, currentGame.currentRoom, splitStringParams[0]);
     if (doorToChange == null)
     {
         msg("\nI'm sorry I can't see any such door"); return;
     }
     if (doorToChange.locked == locked)
     {
         msg("\nThe door is already " + (locked ? "locked" : "unlocked")); return;
     }
     if (commandParameters.currentGame.player.inventory.Contains(doorToChange.keyObject))
     {
         doorToChange.locked = locked;
         msg("\nYou " + (locked ? "lock" : "unlock") + " the door");
     }
 }
 private void ChangeDoorState(CommandParameters commandParameters, string[] splitParams, bool closed)
 {
     if (splitParams.Length == 2)
     {
         if (currentGame.currentRoom.exits.Where(p => p.Key.hasDoor == true).Count() > 1)
         {
             msg("\nYou really need to tell me which door to " + (closed ? "close" : "open"));
             return;
         }
         else
         {
             Objects.Door doorToChange = currentGame.currentRoom.exits.Where(p => p.Key.hasDoor == true).First().Key.door;
             if (doorToChange.locked)
             {
                 msg("\nThis door is locked"); return;
             }
             doorToChange.closed = closed;
             msg("\nYou " + (closed?"close":"open") + " the door");
             return;
         }
     }
     else
     {
         Objects.Door doorToChange = null;
         doorToChange = currentGame.findDoor(doorToChange, currentGame.currentRoom, splitParams[0]);
         if (doorToChange == null)
         {
             msg("\nI'm sorry I can't see any such door"); return;
         }
         if (doorToChange.locked)
         {
             msg("\nThis door is locked"); return;
         }
         doorToChange.closed = closed;
         msg("\nYou " + (closed ? "close" : "open") + " the door");
     }
 }
Example #4
0
 public RoomExit(string direction, bool hasDoor, Objects.Door door)
 {
     this.direction = direction;
     this.hasDoor   = hasDoor;
     this.door      = door;
 }
Example #5
0
 private void InsertDoor(byte x, byte y, bool open, bool isLeftRight, bool triggerCollision = true)
 {
     var door = new Objects.Door(x, y, open, isLeftRight, triggerCollision);
     World.Insert(door);
     Insert(door, door.X, door.Y);
     Doors[new Tuple<byte, byte>(door.X, door.Y)] = door;
 }