mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-07-05 01:11:34 +08:00
Fix for loading scenarios with empty chains
This commit is contained in:
parent
eb12b5ddcd
commit
9904b619c1
|
@ -319,32 +319,35 @@ namespace CodeWalker.World
|
||||||
{
|
{
|
||||||
chainedges.Clear();
|
chainedges.Clear();
|
||||||
|
|
||||||
foreach (var edgeId in chain.EdgeIds)
|
if (chain.EdgeIds != null)
|
||||||
{
|
{
|
||||||
if (edgeId >= rpe.Length)
|
foreach (var edgeId in chain.EdgeIds)
|
||||||
{ continue; }
|
{
|
||||||
var edge = rpe[edgeId];
|
if (edgeId >= rpe.Length)
|
||||||
|
{ continue; }
|
||||||
|
var edge = rpe[edgeId];
|
||||||
|
|
||||||
if (edge.NodeIndexFrom >= rpn.Length)
|
if (edge.NodeIndexFrom >= rpn.Length)
|
||||||
{ continue; }
|
{ continue; }
|
||||||
if (edge.NodeIndexTo >= rpn.Length)
|
if (edge.NodeIndexTo >= rpn.Length)
|
||||||
{ continue; }
|
{ continue; }
|
||||||
|
|
||||||
edge.NodeFrom = rpn[edge.NodeIndexFrom];
|
edge.NodeFrom = rpn[edge.NodeIndexFrom];
|
||||||
edge.NodeTo = rpn[edge.NodeIndexTo];
|
edge.NodeTo = rpn[edge.NodeIndexTo];
|
||||||
|
|
||||||
var nfc = edge.NodeFrom?.Chain;
|
var nfc = edge.NodeFrom?.Chain;
|
||||||
var ntc = edge.NodeTo?.Chain;
|
var ntc = edge.NodeTo?.Chain;
|
||||||
|
|
||||||
if ((nfc != null) && (nfc != chain))
|
if ((nfc != null) && (nfc != chain))
|
||||||
{ }
|
{ }
|
||||||
if ((ntc != null) && (ntc != chain))
|
if ((ntc != null) && (ntc != chain))
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
if (edge.NodeFrom != null) edge.NodeFrom.Chain = chain;
|
if (edge.NodeFrom != null) edge.NodeFrom.Chain = chain;
|
||||||
if (edge.NodeTo != null) edge.NodeTo.Chain = chain;
|
if (edge.NodeTo != null) edge.NodeTo.Chain = chain;
|
||||||
|
|
||||||
chainedges.Add(edge);
|
chainedges.Add(edge);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
chain.Edges = chainedges.ToArray();
|
chain.Edges = chainedges.ToArray();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user