private static void GenerateAvoidGridInternal(ByteGrid grid, Faction faction, Map map, AvoidGridMode mode)
        {
            List <Building> allBuildingsColonist = map.listerBuildings.allBuildingsColonist;

            if (mode == AvoidGridMode.Smart)
            {
                for (int i = 0; i < allBuildingsColonist.Count; i++)
                {
                    if (Rand.Chance(0.5f) && allBuildingsColonist[i].def.building.isTrap)
                    {
                        AvoidGridMaker.PrintAvoidGridAroundTrapLoc(allBuildingsColonist[i], grid);
                    }
                    if (allBuildingsColonist[i].def.building.ai_combatDangerous)
                    {
                        Building_TurretGun building_TurretGun = allBuildingsColonist[i] as Building_TurretGun;
                        if (building_TurretGun != null)
                        {
                            AvoidGridMaker.PrintAvoidGridAroundTurret(building_TurretGun, grid);
                        }
                    }
                }
            }
            AvoidGridMaker.ExpandAvoidGridIntoEdifices(grid, map);
        }
Esempio n. 2
0
        private static void GenerateAvoidGridInternal(ByteGrid grid, Faction faction, Map map, AvoidGridMode mode)
        {
            List <TrapMemory> list = faction.TacticalMemory.TrapMemories();

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].map == map)
                {
                    AvoidGridMaker.PrintAvoidGridAroundTrapLoc(list[i], grid);
                }
            }
            if (mode == AvoidGridMode.Smart)
            {
                List <Building> allBuildingsColonist = map.listerBuildings.allBuildingsColonist;
                for (int j = 0; j < allBuildingsColonist.Count; j++)
                {
                    if (allBuildingsColonist[j].def.building.ai_combatDangerous)
                    {
                        Building_TurretGun building_TurretGun = allBuildingsColonist[j] as Building_TurretGun;
                        if (building_TurretGun != null)
                        {
                            AvoidGridMaker.PrintAvoidGridAroundTurret(building_TurretGun, grid);
                        }
                    }
                }
            }
            AvoidGridMaker.ExpandAvoidGridIntoEdifices(grid, map);
        }