public bool Accessible(Entity to) { if (this.Location != to.Location) { return(false); } if (this.PossessionOf != null) { IEntityOpenable openable = this.PossessionOf as IEntityOpenable; if (openable != null) { return(openable.Open); } else { return(true); } } if (this.PartOf == null) { return(true); } else { return(this.PartOf.Accessible(to)); } }
public virtual void Open(IEntityOpenable direct) { direct.Open = true; }