namespace Base
{
///
/// Component的Id与Owner Entity Id一样
///
public abstract class Component: Object
{
public Entity Owner { get; set; }
protected Component()
{
ObjectManager.Add(this);
}
protected Component(long id): base(id)
{
ObjectManager.Add(this);
}
public T GetComponent() where T: Component
{
return this.Owner.GetComponent();
}
public override void Dispose()
{
base.Dispose();
ObjectManager.Remove(this.Id);
}
}
}