CloseSerialize() public method

public CloseSerialize ( ) : byte[]
return byte[]
コード例 #1
0
	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);
	}
コード例 #2
0
	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);
	}
コード例 #3
0
ファイル: AstarPathEditor.cs プロジェクト: klobodnf/st1
    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);
    }
コード例 #4
0
	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;
	}
コード例 #5
0
ファイル: AstarData.cs プロジェクト: Marchys/fanalet
		/** 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;
		}