From 027d8749a1ee7f4efa4094d49202bf088468b0ae Mon Sep 17 00:00:00 2001 From: Christopher Date: Thu, 6 Aug 2020 02:08:09 +0200 Subject: [PATCH] check X Y Z for max value --- Module/BirdsModule/FlowMap.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Module/BirdsModule/FlowMap.cs b/Module/BirdsModule/FlowMap.cs index 464828a..b814e4c 100644 --- a/Module/BirdsModule/FlowMap.cs +++ b/Module/BirdsModule/FlowMap.cs @@ -90,7 +90,8 @@ namespace Flocking for( int y = 0; y < regionY; y++ ) { int zMax = Convert.ToInt32(m_scene.GetGroundHeight( x, y )); for( int z = 1; z < zMax; z++ ) { - m_flowMap[x,y,z] = 100f; + if (x < regionX && y < regionY && z < zMax) + m_flowMap[x,y,z] = 100f; } } } @@ -99,8 +100,10 @@ namespace Flocking foreach( EntityBase entity in m_scene.GetEntities() ) { if( entity is SceneObjectGroup ) { SceneObjectGroup sog = (SceneObjectGroup)entity; - - //todo: ignore phantom + + if (sog.IsPhantom) + continue; + float fmaxX, fminX, fmaxY, fminY, fmaxZ, fminZ; int maxX, minX, maxY, minY, maxZ, minZ; sog.GetAxisAlignedBoundingBoxRaw( out fminX, out fmaxX, out fminY, out fmaxY, out fminZ, out fmaxZ ); @@ -115,7 +118,8 @@ namespace Flocking for( int x = minX; x < maxX; x++ ) { for( int y = minY; y < maxY; y++ ) { for( int z = minZ; z < maxZ; z++ ) { - m_flowMap[x,y,z] = 100f; + if(x < maxX && y < maxY && z < maxX) + m_flowMap[x,y,z] = 100f; } } }