public override void OnRemoved() // called before removing an item from the game { base.OnRemoved(); ContainedInto?.GetFromContainer(this); ContainedInto = null; Blueprint = null; }
public virtual bool ChangeContainer(IContainer container) { Log.Default.WriteLine(LogLevels.Info, "ChangeContainer: {0} : {1} -> {2}", DebugName, ContainedInto == null ? "<<??>>" : ContainedInto.DebugName, container == null ? "<<??>>" : container.DebugName); ContainedInto?.GetFromContainer(this); //Debug.Assert(container != null, "ChangeContainer: an item cannot be outside a container"); // False, equipment are not stored in any container //container.PutInContainer(this); //ContainedInto = container; container?.PutInContainer(this); ContainedInto = container; return(true); }