Exemple #1
0
        public List <Building_MobileProjector> GetPoweredAndIdleProjectorsWithGroupId(int groupId)
        {
            List <Building_MobileProjector> projectorsList = new List <Building_MobileProjector>();

            foreach (Building building in this.Map.listerBuildings.AllBuildingsColonistOfDef(Util_Projector.ProjectorTowerDef))
            {
                Building_MobileProjectorTower projector = building as Building_MobileProjectorTower;
                if ((projector != null) &&
                    (projector.groupId == groupId) &&
                    (projector.target == null) &&
                    (projector.isRoofed == false) &&
                    projector.powerComp.PowerOn)
                {
                    projectorsList.Add(projector);
                }
            }
            foreach (Building building in this.Map.listerBuildings.AllBuildingsColonistOfDef(Util_Projector.ProjectorTurretDef))
            {
                Building_MobileProjectorTurret projector = building as Building_MobileProjectorTurret;
                if ((projector != null) &&
                    (projector.groupId == groupId) &&
                    (projector.target == null) &&
                    projector.powerComp.PowerOn)
                {
                    projectorsList.Add(projector);
                }
            }
            return(projectorsList);
        }
Exemple #2
0
        public override AlertReport GetReport()
        {
            List <Map> maps = Find.Maps;

            for (int mapIndex = 0; mapIndex < maps.Count; mapIndex++)
            {
                foreach (Building building in maps[mapIndex].listerBuildings.AllBuildingsColonistOfDef(Util_Projector.ProjectorTowerDef))
                {
                    Building_MobileProjectorTower tower = building as Building_MobileProjectorTower;
                    if (tower.isRoofed)
                    {
                        return(AlertReport.CulpritIs(tower));
                    }
                }
            }
            return(AlertReport.Inactive);
        }