public byte[] SerializeGraphs (Pathfinding.Serialization.SerializeSettings settings, out uint checksum) { byte[] bytes = null; uint ch = 0; AstarPath.active.AddWorkItem (new AstarPath.AstarWorkItem (delegate (bool force) { Pathfinding.Serialization.AstarSerializer sr = new Pathfinding.Serialization.AstarSerializer(script.astarData, settings); sr.OpenSerialize(); script.astarData.SerializeGraphsPart (sr); sr.SerializeEditorSettings (graphEditors); bytes = sr.CloseSerialize(); ch = sr.GetChecksum (); #if ASTARDEBUG Debug.Log ("Got a whole bunch of data, "+bytes.Length+" bytes"); #endif return true; })); //Make sure the above work item is run directly AstarPath.active.FlushWorkItems(); checksum = ch; return bytes; //Forward to runtime serializer //return script.astarData.SerializeGraphs(Pathfinding.Serialization.SerializeSettings.Settings, out checksum); }
public byte[] SerializeGraphs (Pathfinding.Serialization.SerializeSettings settings, out uint checksum) { Pathfinding.Serialization.AstarSerializer sr = new Pathfinding.Serialization.AstarSerializer(script.astarData, settings); sr.OpenSerialize(); script.astarData.SerializeGraphsPart (sr); sr.SerializeEditorSettings (graphEditors); byte[] bytes = sr.CloseSerialize(); checksum = sr.GetChecksum (); return bytes; //Forward to runtime serializer //return script.astarData.SerializeGraphs(Pathfinding.Serialization.SerializeSettings.Settings, out checksum); }
public byte[] SerializeGraphs(Pathfinding.Serialization.SerializeSettings settings, out uint checksum) { Pathfinding.Serialization.AstarSerializer sr = new Pathfinding.Serialization.AstarSerializer(script.astarData, settings); sr.OpenSerialize(); script.astarData.SerializeGraphsPart (sr); sr.SerializeEditorSettings (graphEditors); byte[] bytes = sr.CloseSerialize(); checksum = sr.GetChecksum (); #if ASTARDEBUG Debug.Log ("Got a whole bunch of data, "+bytes.Length+" bytes"); #endif return bytes; //Forward to runtime serializer //return script.astarData.SerializeGraphs(Pathfinding.Serialization.SerializeSettings.Settings, out checksum); }
public byte[] SerializeGraphs (Pathfinding.Serialization.SerializeSettings settings, out uint checksum) { byte[] bytes = null; uint ch = 0; // Add a work item since we cannot be sure that pathfinding (or graph updates) // is not running at the same time AstarPath.active.AddWorkItem (new AstarPath.AstarWorkItem (force => { var sr = new Pathfinding.Serialization.AstarSerializer(script.astarData, settings); sr.OpenSerialize(); script.astarData.SerializeGraphsPart (sr); sr.SerializeEditorSettings (graphEditors); bytes = sr.CloseSerialize(); ch = sr.GetChecksum (); return true; })); // Make sure the above work item is executed immediately AstarPath.active.FlushWorkItems(); checksum = ch; return bytes; }
/** Main serializer function. * Serializes all graphs to a byte array * A similar function exists in the AstarPathEditor.cs script to save additional info */ public byte[] SerializeGraphs (SerializeSettings settings, out uint checksum) { AstarPath.active.BlockUntilPathQueueBlocked(); var sr = new AstarSerializer(this, settings); sr.OpenSerialize(); SerializeGraphsPart (sr); var bytes = sr.CloseSerialize(); checksum = sr.GetChecksum (); return bytes; }