void m_grid_OnBlockAdded(Entities.Cube.MySlimBlock obj) { var turret = obj.FatBlock as MyLargeTurretBase; if (turret != null) { if (m_turrets.Count == 0) { m_queryLocal = new BoundingSphere(obj.FatBlock.PositionComp.LocalMatrix.Translation, turret.ShootingRange); } else { m_queryLocal.Include(new BoundingSphere(obj.FatBlock.PositionComp.LocalMatrix.Translation, turret.ShootingRange)); } m_turrets.Add(turret); } }
void Grid_OnBlockRemoved(Entities.Cube.MySlimBlock slimBlock) { var planet = GetPlanet(slimBlock.WorldPosition); if (planet != null) { List <MyNavmeshManager> managers; if (m_planetManagers.TryGetValue(planet, out managers)) { var bb = slimBlock.WorldAABB; foreach (var manager in managers) { manager.InvalidateArea(bb); } } } }