Example #1
0
    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;
 }