本文整理汇总了C#中Pathfinding.AstarSerializer.SerializeSettings方法的典型用法代码示例。如果您正苦于以下问题:C# AstarSerializer.SerializeSettings方法的具体用法?C# AstarSerializer.SerializeSettings怎么用?C# AstarSerializer.SerializeSettings使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pathfinding.AstarSerializer
的用法示例。
在下文中一共展示了AstarSerializer.SerializeSettings方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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
//.........这里部分代码省略.........
示例2: SerializeGraphsPart
/** Saves all graphs and also user connections, but does not close, nor opens the stream */
public void SerializeGraphsPart(AstarSerializer serializer)
{
//AstarSerializer serializer = new AstarSerializer ();
//serializer.OpenSerializeSettings ();
SizeProfiler.Initialize ();
SizeProfiler.Begin ("File",serializer.writerStream,false);
SizeProfiler.Begin ("Graphs init",serializer.writerStream);
serializer.writerStream.Write (graphs.Length);
serializer.writerStream.Write (graphs.Length);
SizeProfiler.End ("Graphs init",serializer.writerStream);
int[] masks = new int[graphs.Length];
for (int i=0;i<graphs.Length;i++) {
NavGraph graph = graphs[i];
int tmpMask = serializer.mask;
SizeProfiler.Begin ("Graphs type "+i,serializer.writerStream);
serializer.AddAnchor ("Graph"+i);
serializer.writerStream.Write (graph.GetType ().Name);
serializer.writerStream.Write (graph.guid.ToString ());
SizeProfiler.Begin ("Graphs settings "+i,serializer.writerStream);
//Set an unique prefix for all variables in this graph
serializer.sPrefix = i.ToString ();
serializer.SerializeSettings (graph,active);
serializer.sPrefix = "";
masks[i] = serializer.mask;
serializer.mask = tmpMask;
SizeProfiler.End ("Graphs settings "+i,serializer.writerStream);
}
//Serialize nodes
for (int i=0;i<graphs.Length;i++) {
NavGraph graph = graphs[i];
serializer.mask = masks[i];
SizeProfiler.Begin ("Graphs nodes "+i,serializer.writerStream,false);
serializer.AddAnchor ("GraphNodes_Graph"+i);
serializer.writerStream.Write (masks[i]);
serializer.sPrefix = i.ToString ()+"N";
serializer.SerializeNodes (graph,active);
serializer.sPrefix = "";
SizeProfiler.End ("Graphs nodes "+i,serializer.writerStream);
}
SizeProfiler.Begin ("User Connections",serializer.writerStream);
serializer.SerializeUserConnections (userConnections);
SizeProfiler.End ("User Connections",serializer.writerStream);
//data = (serializer.writerStream.BaseStream as System.IO.MemoryStream).ToArray ();
//serializer.Close ();
SizeProfiler.End ("File",serializer.writerStream);
SizeProfiler.Log ();
}