public virtual void Take(invt::Item item) { if (holdall.Contains(item)) throw new System.Exception("Person already has item"); item.transform.parent = transform; holdall.Add(item); item.Take(); }
public bool Unlock(inv::Key key) { if (key==LockKey) return true; if (!key) return false; if (key.Kind!=LockKey.Kind) return false; return (key.Value==LockKey.Value); }
public void SwitchItem(inv::IWieldable item) { // if (backpack && (heldItem!=null)) heldItem.Stow(); // else heldItem.Drop(); heldItem = item; }
public virtual void Stow(invt::IWearable item) { item.Stow(); }
public virtual void Wear(invt::IWearable item) { body[item.GetType()] = item; item.Wear(); }
public virtual void Drop(invt::Item item) { if (!holdall.Contains(item)) return; item.transform.parent = null; holdall.Remove(item); item.Drop(); }