public bool TryTake(IObjectTaker taker, out TakebleObject obj) { obj = null; if (CanTake(taker)) { obj = Take(); _updated.Raise(new Interact_Object_Updated(this)); return(true); } return(false); }
public abstract void Return(TakebleObject obj);