本文整理汇总了C#中Pathfinding.AstarSerializer.Close方法的典型用法代码示例。如果您正苦于以下问题:C# AstarSerializer.Close方法的具体用法?C# AstarSerializer.Close怎么用?C# AstarSerializer.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pathfinding.AstarSerializer
的用法示例。
在下文中一共展示了AstarSerializer.Close方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeserializeGraphs_oldInternal
/** Main deserializer function (old). Loads from \a bytes variable \deprecated */
public void DeserializeGraphs_oldInternal(AstarSerializer serializer, byte[] bytes)
{
System.DateTime startTime = System.DateTime.UtcNow;
if (bytes == null || bytes.Length == 0) {
Debug.Log ("No previous data, assigning default");
graphs = new NavGraph[0];
return;
}
Debug.Log ("Deserializing...");
serializer = serializer.OpenDeserialize (bytes);
DeserializeGraphsPart (serializer);
serializer.Close ();
System.DateTime endTime = System.DateTime.UtcNow;
Debug.Log ("Deserialization complete - Process took "+((endTime-startTime).Ticks*0.0001F).ToString ("0.00")+" ms");
}
示例2: ApplyUndo
/*public void OnDisableUndo () {
return;
if (!editor.enableUndo) {
return;
}
if (undoState != null) {
ScriptableObject.DestroyImmediate (undoState);
undoState = null;
}
}
private void ApplyUndo () {
return;
if (!editor.enableUndo) {
return;
}
undoState.hasBeenReverted = false;
if (AstarPath.active == null) {
return;
}
byte[] bytes = GetSerializedBytes (target);
bool isDifferent = false;
//Check if the data is any different from the last saved data, if it isn't, don't load it
if (undoState.data == null || bytes.Length != undoState.data.Length) {
isDifferent = true;
} else {
for (int i=0;i<bytes.Length;i++) {
if (bytes[i] != undoState.data[i]) {
isDifferent = true;
break;
}
}
}
if (isDifferent) {
Debug.Log ("The undo is different "+ Event.current.type +" "+Event.current.commandName);
//Event.current.Use ();
AstarSerializer sz = new AstarSerializer (editor.script);
sz.OpenDeserialize (undoState.data);
sz.DeSerializeSettings (target,AstarPath.active);
sz.Close ();
}
}
public void ModifierKeysChanged () {
return;
if (!editor.enableUndo) {
return;
}
if (undoState == null) {
return;
}
//The user has tried to undo something, apply that
if (undoState.hasBeenReverted) {
ApplyUndo ();
GUI.changed = true;
editor.Repaint ();
}
}
/** Handles undo operations for the graph *
public void HandleUndo (NavGraph target) {
return;
if (!editor.enableUndo) {
return;
}
if (undoState == null) {
undoState = ScriptableObject.CreateInstance<GraphUndo>();
}
Event e = Event.current;
//ModifierKeysChanged ();
//To serialize settings for a grid graph takes from 0.00 ms to 7.8 ms (usually 0.0, but sometimes jumps up to 7.8 (no values in between)
if ((e.button == 0 && (e.type == EventType.MouseDown || e.type == EventType.MouseUp)) || (e.isKey && (e.keyCode == KeyCode.Tab || e.keyCode == KeyCode.Return))) {
System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
stopWatch.Start();
//Serialize the settings of the graph
byte[] bytes = GetSerializedBytes (target);
bool isDifferent = false;
if (undoState.data == null) {
Debug.LogError ("UndoState.data == null - This should not happen");
return;
}
//Check if the data is any different from the last saved data, if it isn't, don't save it
//.........这里部分代码省略.........
示例3: SerializeGraphs
/** Main serializer function, a similar one exists in the AstarEditor.cs script to save additional info */
public byte[] SerializeGraphs(AstarSerializer serializer)
{
serializer.OpenSerialize ();
SerializeGraphsPart (serializer);
serializer.Close ();
byte[] bytes = (serializer.writerStream.BaseStream as System.IO.MemoryStream).ToArray ();
Debug.Log ("Got a whole bunch of data, "+bytes.Length+" bytes");
return bytes;
}
示例4: Loadx
/** Obsolete */
public AstarSerializer Loadx (bool runtime, out NavGraph graph, AstarSerializer.DeSerializationInterrupt interrupt) {
float startTime = Time.realtimeSinceStartup;
AstarSerializer serializer = new AstarSerializer (this);
//serializer.DeSerialize (this, runtime, out graph,interrupt);
if (runtime) {
serializer.Close ();
}
graph = null;
Debug.Log ("Loading took "+(Time.realtimeSinceStartup-startTime)+" s to complete");
return serializer;
}
示例5: Savex
//The runtime variable is there to inform the script about that some variables might not get saved, like the sourceMesh reference in the NavmeshGraph which is a reference to the Unity asset database and cannot be saved or loaded during runtime.
//When runtime is false, the stream won't be closed
/** Obsolete */
public AstarSerializer Savex (NavGraph graph, bool runtime) {
float startTime = Time.realtimeSinceStartup;
if (isCalculatingPaths) {
Debug.LogWarning ("The script is currently calculating paths, the serialization can interfere with the pathfinding");
}
//Fill some variables with index values for each node which is usefull to the serializer
//This can interfere with pathfinding so all pathfinding should be stopped before calling this function
for (int i=0;i<graphs.Length;i++) {
NavGraph graphx = graphs[i];
if (graphx.nodes == null) {
continue;
}
for (int q=0;q<graphx.nodes.Length;q++) {
graphx.nodes[q].g = q;
graphx.nodes[q].h = i;
}
}
AstarSerializer serializer = new AstarSerializer (this);
serializer.compress = astarData.compress;
//serializer.Serialize (graph,this, runtime);
if (runtime) {
serializer.Close ();
}
Debug.Log ("Saving took "+(Time.realtimeSinceStartup-startTime).ToString ("0.00")+" s to complete");
return serializer;
}
示例6: DeserializeGraphs
public void DeserializeGraphs(AstarSerializer serializer, byte[] data)
{
serializer = serializer.OpenDeserialize (data);
//Deserialize the main bulk of the data
script.astarData.DeserializeGraphsPart (serializer);
CheckGraphEditors ();
//Deserialize editor data
for (int i=0;i<script.graphs.Length;i++) {
NavGraph graph = script.graphs[i];
GraphEditor graphEditor = graphEditors[i];
if (serializer.MoveToAnchor ("EditorSettings_"+i)) {
ISerializableGraphEditor serializableEditor = graphEditor as ISerializableGraphEditor;
if (serializableEditor != null) {
//Set an unique prefix for all variables in this graph
serializer.sPrefix = i.ToString ()+"E";
serializer.DeSerializeEditorSettings (graph,serializableEditor,script);
//serializableEditor.DeSerializeSettings (graph,serializer);
}
}
}
serializer.Close ();
}
示例7: SerializeGraphs
public byte[] SerializeGraphs(AstarSerializer serializer)
{
//System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
//stopWatch.Start();
CheckGraphEditors ();
serializer.OpenSerialize ();
script.astarData.SerializeGraphsPart (serializer);
for (int i=0;i<script.graphs.Length;i++) {
NavGraph graph = script.graphs[i];
GraphEditor graphEditor = graphEditors[i];
serializer.AddAnchor ("EditorSettings_"+i);
ISerializableGraphEditor serializableEditor = graphEditor as ISerializableGraphEditor;
if (serializableEditor != null) {
//@Add
//Set an unique prefix for all variables in this graph
serializer.sPrefix = i.ToString ()+"E";
serializer.SerializeEditorSettings (graph,serializableEditor,script);
//serializableEditor.SerializeSettings (graph,serializer);
}
}
serializer.Close ();
byte[] bytes = (serializer.writerStream.BaseStream as System.IO.MemoryStream).ToArray ();
//stopWatch.Stop();
//Debug.Log ("Serializing Graphs - Took "+stopWatch.Elapsed.ToString ());
return bytes;
}