public void DeserializeGraphsPart(AstarSerializer sr) { this.ClearGraphs(); this.graphs = sr.DeserializeGraphs(); if (this.graphs != null) { for (int j = 0; j < this.graphs.Length; j++) { if (this.graphs[j] != null) { this.graphs[j].graphIndex = (uint)j; } } } this.userConnections = sr.DeserializeUserConnections(); sr.DeserializeExtraInfo(); int i; for (i = 0; i < this.graphs.Length; i++) { if (this.graphs[i] != null) { this.graphs[i].GetNodes(delegate(GraphNode node) { node.GraphIndex = (uint)i; return(true); }); } } sr.PostDeserialization(); }
/** Deserializes common info. * Common info is what is shared between the editor serialization and the runtime serializer. * This is mostly everything except the graph inspectors which serialize some extra data in the editor */ public void DeserializeGraphsPart(AstarSerializer sr) { ClearGraphs(); graphs = sr.DeserializeGraphs(); if (graphs != null) { for (var i = 0; i < graphs.Length; i++) { if (graphs[i] != null) { graphs[i].graphIndex = (uint)i; } } } userConnections = sr.DeserializeUserConnections(); //sr.DeserializeNodes(); sr.DeserializeExtraInfo(); //Assign correct graph indices. for (var i = 0; i < graphs.Length; i++) { if (graphs[i] == null) { continue; } graphs[i].GetNodes(delegate(GraphNode node) { node.GraphIndex = (uint)i; return(true); }); } sr.PostDeserialization(); }
public void DeserializeGraphsPartAdditive(AstarSerializer sr) { if (this.graphs == null) { this.graphs = new NavGraph[0]; } if (this.userConnections == null) { this.userConnections = new UserConnection[0]; } List <NavGraph> list = new List <NavGraph>(this.graphs); list.AddRange(sr.DeserializeGraphs()); this.graphs = list.ToArray(); if (this.graphs != null) { for (int l = 0; l < this.graphs.Length; l++) { if (this.graphs[l] != null) { this.graphs[l].graphIndex = (uint)l; } } } List <UserConnection> list2 = new List <UserConnection>(this.userConnections); list2.AddRange(sr.DeserializeUserConnections()); this.userConnections = list2.ToArray(); sr.DeserializeNodes(); DebugHelper.Assert(this.graphs != null, "不能为空"); int i; for (i = 0; i < this.graphs.Length; i++) { if (this.graphs[i] != null) { this.graphs[i].GetNodes(delegate(GraphNode node) { node.GraphIndex = (uint)i; return(true); }); } } sr.DeserializeExtraInfo(); sr.PostDeserialization(); for (int j = 0; j < this.graphs.Length; j++) { for (int k = j + 1; k < this.graphs.Length; k++) { if (this.graphs[j] != null && this.graphs[k] != null && this.graphs[j].guid == this.graphs[k].guid) { Debug.LogWarning("Guid Conflict when importing graphs additively. Imported graph will get a new Guid.\nThis message is (relatively) harmless."); this.graphs[j].guid = Guid.NewGuid(); break; } } } }
/// <summary>Helper function for deserializing graphs</summary> void DeserializeGraphsPartAdditive(AstarSerializer sr) { if (graphs == null) { graphs = new NavGraph[0]; } var gr = new List <NavGraph>(graphs); // Set an offset so that the deserializer will load // the graphs with the correct graph indexes sr.SetGraphIndexOffset(gr.Count); if (graphTypes == null) { FindGraphTypes(); } gr.AddRange(sr.DeserializeGraphs(graphTypes)); graphs = gr.ToArray(); sr.DeserializeEditorSettingsCompatibility(); sr.DeserializeExtraInfo(); //Assign correct graph indices. for (int i = 0; i < graphs.Length; i++) { if (graphs[i] == null) { continue; } graphs[i].GetNodes(node => node.GraphIndex = (uint)i); } for (int i = 0; i < graphs.Length; i++) { for (int j = i + 1; j < graphs.Length; j++) { if (graphs[i] != null && graphs[j] != null && graphs[i].guid == graphs[j].guid) { Debug.LogWarning("Guid Conflict when importing graphs additively. Imported graph will get a new Guid.\nThis message is (relatively) harmless."); graphs[i].guid = Pathfinding.Util.Guid.NewGuid(); break; } } } sr.PostDeserialization(); active.hierarchicalGraph.RecalculateIfNecessary(); }
public void DeserializeGraphsPart(AstarSerializer sr) { this.ClearGraphs(); this.graphs = sr.DeserializeGraphs(); if (this.graphs != null) { for (int i = 0; i < this.graphs.Length; i++) { if (this.graphs[i] != null) { this.graphs[i].graphIndex = (uint)i; } } } this.userConnections = sr.DeserializeUserConnections(); sr.DeserializeExtraInfo();
// Token: 0x060021EB RID: 8683 RVA: 0x00190A94 File Offset: 0x0018EC94 private void DeserializeGraphsPartAdditive(AstarSerializer sr) { if (this.graphs == null) { this.graphs = new NavGraph[0]; } List <NavGraph> list = new List <NavGraph>(this.graphs); sr.SetGraphIndexOffset(list.Count); list.AddRange(sr.DeserializeGraphs()); this.graphs = list.ToArray(); sr.DeserializeEditorSettingsCompatibility(); sr.DeserializeExtraInfo(); int i; int l; for (i = 0; i < this.graphs.Length; i = l + 1) { if (this.graphs[i] != null) { this.graphs[i].GetNodes(delegate(GraphNode node) { node.GraphIndex = (uint)i; }); } l = i; } for (int j = 0; j < this.graphs.Length; j++) { for (int k = j + 1; k < this.graphs.Length; k++) { if (this.graphs[j] != null && this.graphs[k] != null && this.graphs[j].guid == this.graphs[k].guid) { Debug.LogWarning("Guid Conflict when importing graphs additively. Imported graph will get a new Guid.\nThis message is (relatively) harmless."); this.graphs[j].guid = Pathfinding.Util.Guid.NewGuid(); break; } } } sr.PostDeserialization(); }
/** Deserializes common info additively * Common info is what is shared between the editor serialization and the runtime serializer. * This is mostly everything except the graph inspectors which serialize some extra data in the editor */ public void DeserializeGraphsPartAdditive(AstarSerializer sr) { if (graphs == null) { graphs = new NavGraph[0]; } if (userConnections == null) { userConnections = new UserConnection[0]; } var gr = new List <NavGraph>(graphs); gr.AddRange(sr.DeserializeGraphs()); graphs = gr.ToArray(); if (graphs != null) { for (var i = 0; i < graphs.Length; i++) { if (graphs[i] != null) { graphs[i].graphIndex = (uint)i; } } } var conns = new List <UserConnection>(userConnections); conns.AddRange(sr.DeserializeUserConnections()); userConnections = conns.ToArray(); sr.DeserializeNodes(); //Assign correct graph indices. Issue #21 for (var i = 0; i < graphs.Length; i++) { if (graphs[i] == null) { continue; } graphs[i].GetNodes(delegate(GraphNode node) { //GraphNode[] nodes = graphs[i].nodes; node.GraphIndex = (uint)i; return(true); }); } sr.DeserializeExtraInfo(); sr.PostDeserialization(); for (var i = 0; i < graphs.Length; i++) { for (var j = i + 1; j < graphs.Length; j++) { if (graphs[i] != null && graphs[j] != null && graphs[i].guid == graphs[j].guid) { Debug.LogWarning("Guid Conflict when importing graphs additively. Imported graph will get a new Guid.\nThis message is (relatively) harmless."); graphs[i].guid = Guid.NewGuid(); break; } } } }