override public void ForgetInstance(MudObject Object) { var instanceName = Object.Path + "@" + Object.Instance; if (ActiveInstances.ContainsKey(instanceName)) { ActiveInstances.Remove(instanceName); } Object.IsPersistent = false; }
override public void PersistInstance(MudObject Object) { if (Object.IsPersistent) { return; //The object is already persistent. } if (ActiveInstances.ContainsKey(Object.GetFullName())) { throw new InvalidOperationException("An instance with this name is already persisted."); } if (Object.IsNamedObject) { Object.IsPersistent = true; ActiveInstances.Upsert(Object.GetFullName(), Object); ReadPersistentObject(Object); } else { throw new InvalidOperationException("Anonymous objects cannot be persisted."); } }