public void Serialize(BinaryWriter writer) { #if UNITY_EDITOR if (string.IsNullOrEmpty(guid)) { guid = GUID.Generate().ToString(); EditorUtility.SetDirty(this); } //Will only add the scriptable if it's not already been added NarrativeDictionary.GetAsset().AddWorldProperty(this); #endif //UNITY_EDITOR writer.Write(guid); }
public static Action Deserialise(BinaryReader reader) { string uid = reader.ReadString(); Action action = NarrativeDictionary.GetAsset().GetAction(uid); if (action == null) { return(null); } foreach (WorldPropertyScriptable prop in action.ExitConditions) { action._runtimeExitConditions.Add(prop.GetRuntimeProperty()); } foreach (WorldPropertyScriptable precondition in action.Preconditions) { action.RuntimePreconditions.Add(precondition.GetRuntimeProperty()); } return(action); }
public static WorldPropertyScriptable Deserialise(BinaryReader reader) { return(NarrativeDictionary.GetAsset().GetWorldProperty(reader.ReadString())); }