public override 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."); }
private void SavePersistentObject(MudObject Object) { var filename = DynamicPath + Object.GetFullName() + ".txt"; Directory.CreateDirectory(System.IO.Path.GetDirectoryName(filename)); var data = Core.SerializeObject(Object); System.IO.File.WriteAllText(filename, data); }
private void ReadPersistentObject(MudObject Object) { var filename = DynamicPath + Object.GetFullName() + ".txt"; if (!System.IO.File.Exists(filename)) return; var data = System.IO.File.ReadAllText(filename); Core.DeserializeObject(Object, data); }
private void SavePersistentObject(MudObject Object) { var filename = DynamicPath + Object.GetFullName() + ".txt"; Directory.CreateDirectory(System.IO.Path.GetDirectoryName(filename)); var data = Core.SerializeObject(Object); System.IO.File.WriteAllText(filename, data); }
private void ReadPersistentObject(MudObject Object) { var filename = DynamicPath + Object.GetFullName() + ".txt"; if (!System.IO.File.Exists(filename)) { return; } var data = System.IO.File.ReadAllText(filename); Core.DeserializeObject(Object, data); }
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."); } }
public Object Recall(MudObject For, String Key) { var valueName = For.GetFullName() + ":" + Key; Object value = null; if (Memory.TryGetValue(valueName, out value)) { return(value); } else { return(null); } }
public bool TryRecall <T>(MudObject For, String Key, out T Value) where T : class { Value = null; var valueName = For.GetFullName() + ":" + Key; Object value = null; if (Memory.TryGetValue(valueName, out value)) { Value = value as T; return(value is T); } else { return(false); } }
public void Remember(MudObject For, String Key, Object Value) { var valueName = For.GetFullName() + ":" + Key; Memory.Upsert(valueName, Value); }