muddesigner/MudEngine/GameObjects/Environment/Door.cs
Scionwest_cp e145d57682 MudEngine:
- Rooms can now be linked automatically via the new Zone.LinkRooms method. Room linking can no longer be done manually as the Doorways property is now read-only.
 - Door.Description has been removed. Doorway description will need to be included in Room.Description or Room.DetailedDescription properties.
 - Added DetailedDescription to make creating multi-line descriptions easier. Not supported by the Look command yet.
 - Game.IsRunning is now read-only. The Game will manage this property on its own.
 - BaseCharacter.ExecuteCommand now will always return a string. Simplifying the game loop for users as they no longer need to check what Type was returned by the command.
 - Doors now contain a DepartureRoom and a ArrivalRoom property allowing for easy access to Rooms that are linked together.
 - Fixed a bug where Game, Realms and Zones always assigned IsInitial to Realms, Zones and Rooms when added to the collections. Collection would contain multiple IsInitial objects.
 - Removed Room.InstalledDoorways property as that was used only by the old Designer
 - Removed Room.Load() as that implementation of it is obsolete.

MudGame:
 - Revised Zeroth to build it's Zone and Rooms using the new Zone.LinkRooms function.
 - Greatly revised Program.cs and the Game loop to take advantage of many of the automations provided by the Engine now.
2010-07-25 20:50:39 -07:00

62 lines
1.4 KiB
C#

//Microsoft .NET Framework
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.ComponentModel;
//MUD Engine
using MudEngine.GameObjects.Items;
namespace MudEngine.GameObjects.Environment
{
[XmlInclude(typeof(BaseItem))]
[Serializable]
public class Door
{
[Category("Door Settings")]
[DefaultValue(false)]
public bool IsLocked
{
get;
set;
}
[Category("Door Settings")]
[Browsable(false)]
public BaseItem RequiredKey
{
get;
set;
}
[Category("Door Settings")]
[DefaultValue(0)]
public int LevelRequirement
{
get;
set;
}
[Category("Door Settings")]
public AvailableTravelDirections TravelDirection { get; set; }
/// <summary>
/// Gets or Sets the Room that the player will be arriving.
/// </summary>
public Room ArrivalRoom { get; set; }
/// <summary>
/// Gets or Sets the Room that the user is leaving.
/// </summary>
public Room DepartureRoom { get; set; }
public Door()
{
LevelRequirement = 0;
IsLocked = false;
RequiredKey = new BaseItem();
}
}
}