A* Pathfinding Project  3.7
The A* Pathfinding Project for Unity 3D
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Events Macros Groups Pages
AstarSerializer Class Reference

Handles low level serialization and deserialization of graph settings and data. More...

Detailed Description

Handles low level serialization and deserialization of graph settings and data.

Public Member Functions

 AstarSerializer (AstarData data)
 
 AstarSerializer (AstarData data, SerializeSettings settings)
 
void CloseDeserialize ()
 
byte[] CloseSerialize ()
 
void DeserializeEditorSettings (GraphEditorBase[] graphEditors)
 Deserializes graph editor settings.
 
void DeserializeExtraInfo ()
 Deserializes extra graph info.
 
NavGraph[] DeserializeGraphs ()
 Deserializes graph settings.
 
uint GetChecksum ()
 
bool OpenDeserialize (byte[] bytes)
 
void OpenSerialize ()
 
void PostDeserialization ()
 Calls PostDeserialization on all loaded graphs.
 
byte[] Serialize (NavGraph graph)
 Serializes the graph settings to JSON and returns the data.
 
void SerializeEditorSettings (GraphEditorBase[] editors)
 
void SerializeExtraInfo ()
 
void SerializeGraphs (NavGraph[] _graphs)
 
void SerializeNodes ()
 
void SetGraphIndexOffset (int offset)
 

Static Public Member Functions

static byte[] LoadFromFile (string path)
 Load the specified data from the specified path.
 
static void SaveToFile (string path, byte[] data)
 Save the specified data at the specified path.
 

Public Attributes

JsonReaderSettings readerSettings
 
JsonWriterSettings writerSettings
 

Private Member Functions

void AddChecksum (byte[] bytes)
 
GraphMeta DeserializeMeta (ZipEntry entry)
 
string GetString (ZipEntry entry)
 Returns the data in the zip entry as a string.
 
byte[] SerializeMeta ()
 Serialize metadata about all graphs.
 
byte[] SerializeNodeConnections (int index)
 Serialize node connections for given graph index.
 
byte[] SerializeNodes (int index)
 Not used anymore.
 

Static Private Member Functions

static System.Version FullyDefinedVersion (System.Version v)
 Returns a version with all fields fully defined.
 
static System.Text.StringBuilder GetStringBuilder ()
 Returns a cached StringBuilder.
 

Private Attributes

const string binaryExt = ".binary"
 
uint checksum = 0xffffffff
 
AstarData data
 
System.Text.UTF8Encoding encoding =new System.Text.UTF8Encoding()
 
int graphIndexOffset
 
NavGraph[] graphs
 
const string jsonExt = ".json"
 
GraphMeta meta
 
SerializeSettings settings
 
MemoryStream str
 
ZipFile zip
 

Static Private Attributes

static System.Text.StringBuilder _stringBuilder = new System.Text.StringBuilder()
 

Constructor & Destructor Documentation

AstarSerializer ( AstarData  data,
SerializeSettings  settings 
)

Member Function Documentation

void AddChecksum ( byte[]  bytes)
private
void CloseDeserialize ( )
byte [] CloseSerialize ( )
void DeserializeEditorSettings ( GraphEditorBase[]  graphEditors)

Deserializes graph editor settings.

For future compatibility this method does not assume that the graphEditors array matches the graphs array in order and/or count. It searches for a matching graph (matching if graphEditor.target == graph) for every graph editor. Multiple graph editors should not refer to the same graph.

Note
Stored in files named "graph#_editor.json" where # is the graph number.
void DeserializeExtraInfo ( )

Deserializes extra graph info.

Extra graph info is specified by the graph types.

See Also
Pathfinding.NavGraph.DeserializeExtraInfo
Note
Stored in files named "graph#_extra.binary" where # is the graph number.
NavGraph [] DeserializeGraphs ( )

Deserializes graph settings.

Note
Stored in files named "graph#.json" where # is the graph number.
GraphMeta DeserializeMeta ( ZipEntry  entry)
private
static System.Version FullyDefinedVersion ( System.Version  v)
staticprivate

Returns a version with all fields fully defined.

This is used because by default new Version(3,0,0) > new Version(3,0). This is not the desired behaviour so we make sure that all fields are defined here

uint GetChecksum ( )
string GetString ( ZipEntry  entry)
private

Returns the data in the zip entry as a string.

static System.Text.StringBuilder GetStringBuilder ( )
staticprivate

Returns a cached StringBuilder.

This function only has one string builder cached and should thus only be called from a single thread and should not be called while using an earlier got string builder.

static byte [] LoadFromFile ( string  path)
static

Load the specified data from the specified path.

bool OpenDeserialize ( byte[]  bytes)
void OpenSerialize ( )
void PostDeserialization ( )

Calls PostDeserialization on all loaded graphs.

static void SaveToFile ( string  path,
byte[]  data 
)
static

Save the specified data at the specified path.

byte [] Serialize ( NavGraph  graph)

Serializes the graph settings to JSON and returns the data.

void SerializeEditorSettings ( GraphEditorBase[]  editors)
void SerializeExtraInfo ( )
void SerializeGraphs ( NavGraph[]  _graphs)
byte [] SerializeMeta ( )
private

Serialize metadata about all graphs.

byte [] SerializeNodeConnections ( int  index)
private

Serialize node connections for given graph index.

Note
Not used anymore
void SerializeNodes ( )
byte [] SerializeNodes ( int  index)
private

Not used anymore.

void SetGraphIndexOffset ( int  offset)

Member Data Documentation

System.Text.StringBuilder _stringBuilder = new System.Text.StringBuilder()
staticprivate
const string binaryExt = ".binary"
private
uint checksum = 0xffffffff
private
AstarData data
private
System.Text.UTF8Encoding encoding =new System.Text.UTF8Encoding()
private
int graphIndexOffset
private
NavGraph [] graphs
private
const string jsonExt = ".json"
private
GraphMeta meta
private
JsonReaderSettings readerSettings
SerializeSettings settings
private
MemoryStream str
private
JsonWriterSettings writerSettings
ZipFile zip
private

The documentation for this class was generated from the following file: