public void CalcSignificantIndicies(int index, Vector3 trunkLocalPos, ref List <int> output) { int top = sceneTrunkMgr.GetTopTrunkIndex(index); if (top != -1) { output.Add(top); } int right = sceneTrunkMgr.GetRightTrunkIndex(index); if (right != -1) { output.Add(right); } int bottom = sceneTrunkMgr.GetBottomTrunkIndex(index); if (bottom != -1) { output.Add(bottom); } int left = sceneTrunkMgr.GetLeftTrunkIndex(index); if (left != -1) { output.Add(left); } int i = -1; if (left != -1) { i = sceneTrunkMgr.GetTopTrunkIndex(left); if (i != -1) { output.Add(i); } i = sceneTrunkMgr.GetBottomTrunkIndex(left); if (i != -1) { output.Add(i); } } if (right != -1) { i = sceneTrunkMgr.GetTopTrunkIndex(right); if (i != -1) { output.Add(i); } i = sceneTrunkMgr.GetBottomTrunkIndex(right); if (i != -1) { output.Add(i); } } if (trunkLocalPos.x < preloadThreshold) { if (left != -1) { i = sceneTrunkMgr.GetLeftTrunkIndex(left); if (i != -1) { output.Add(i); } } } else if (trunkLocalPos.x > sceneTrunkMgr.trunkSize - preloadThreshold) { if (right != -1) { i = sceneTrunkMgr.GetRightTrunkIndex(right); if (i != -1) { output.Add(i); } } } if (trunkLocalPos.z < preloadThreshold) { if (bottom != -1) { i = sceneTrunkMgr.GetBottomTrunkIndex(bottom); if (i != -1) { output.Add(i); } } } else if (trunkLocalPos.z > sceneTrunkMgr.trunkSize - preloadThreshold) { if (top != -1) { i = sceneTrunkMgr.GetTopTrunkIndex(top); if (i != -1) { output.Add(i); } } } }
public void CalcSignificantIndicies(int index, Vector3 trunkLocalPos, ref List <int> output) { float halfSize = sceneTrunkMgr.trunkSize * .5f; int i = -1; bool left = false; if (trunkLocalPos.x >= halfSize) { left = false; i = sceneTrunkMgr.GetRightTrunkIndex(index); if (i != -1) { output.Add(i); } } else { left = true; i = sceneTrunkMgr.GetLeftTrunkIndex(index); if (i != -1) { output.Add(i); } } if (trunkLocalPos.z >= halfSize) { i = sceneTrunkMgr.GetTopTrunkIndex(index); if (i != -1) { output.Add(i); if (left) { i = sceneTrunkMgr.GetLeftTrunkIndex(i); if (i != -1) { output.Add(i); } } else { i = sceneTrunkMgr.GetRightTrunkIndex(i); if (i != -1) { output.Add(i); } } } } else { i = sceneTrunkMgr.GetBottomTrunkIndex(index); if (i != -1) { output.Add(i); if (left) { i = sceneTrunkMgr.GetLeftTrunkIndex(i); if (i != -1) { output.Add(i); } } else { i = sceneTrunkMgr.GetRightTrunkIndex(i); if (i != -1) { output.Add(i); } } } } }