muddesigner/MUDEngine/Objects/BaseObject.cs
Scionwest_cp 8486088e17 MUD Engine:
- Added additional script over-rideable Methods.
 - Room Designer can now compile scripts for error checking.
2009-11-27 22:09:56 -08:00

85 lines
2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml.Serialization;
using MUDEngine.Controls;
namespace MUDEngine.Objects
{
public class BaseObject
{
public virtual void OnEnter()
{
}
public virtual void OnExit()
{
}
public virtual void OnCreate()
{
}
public virtual void OnDestroy()
{
}
[Category("Object Setup")]
[RefreshProperties(RefreshProperties.All)] //Required to refresh Filename property in the editors propertygrid
public string Name
{
get;
set;
}
[Category("Object Setup")]
public string Description
{
get;
set;
}
[Browsable(false)]
public string Script { get; set; }
[ReadOnly(true)]
[Category("Object Setup")]
public string Filename
{
//Returns the name of the object + the objects Type as it's extension.
//Filenames are generated by the class itself, users can not assign it.
get
{
string fileExtension = this.GetType().Name.ToLower();
return this.Name + "." + fileExtension;
}
}
[Browsable(false)]
[XmlIgnore()]
public Controls.VisualContainer Control
{
get
{
return this._Control;
}
internal set
{
this._Control = value;
}
}
private Controls.VisualContainer _Control;
/// <summary>
/// Initializes the base object
/// </summary>
public BaseObject()
{
Control = new Controls.VisualContainer(this);
}
}
}