Ejemplo n.º 1
0
    def __cleanExplorableSystems(self, startSystemID):
        "cleanup of all explorable systems"

        universe = fo.getUniverse()
        systemIDs = universe.systemIDs
        empireID = fo.empireID()
        empire = fo.getEmpire()

        for systemID in systemIDs:
            system = universe.getSystem(systemID)
            if not system: continue

            #print "system with id: " + str(systemID)

            if (empire.hasExploredSystem(systemID)):
                self.addExplorableSystem(AIExplorableSystemType.EXPLORABLE_SYSTEM_EXPLORED, systemID)
                self.removeExplorableSystem(AIExplorableSystemType.EXPLORABLE_SYSTEM_UNEXPLORED, systemID)
                #print "    has been explored"
                continue
            if (startSystemID == -1 or not universe.systemsConnected(systemID, startSystemID, empireID)):
                for explorableSystemsType in EnumsAI.getAIExplorableSystemTypes():
                    self.removeExplorableSystem(explorableSystemsType, systemID)
                #print "    is not connected to system with id: " + str(startSystemID)
                continue
            explorableSystemsType = self.getExplorableSystem(systemID)
            if (explorableSystemsType == AIExplorableSystemType.EXPLORABLE_SYSTEM_VISIBLE):
                #print "    is already explored system target"
                continue
            #print "    is now an unexplored system"
            self.addExplorableSystem(AIExplorableSystemType.EXPLORABLE_SYSTEM_UNEXPLORED, systemID)
Ejemplo n.º 2
0
    def addExplorableSystem(self, explorableSystemsType, systemID):
        "add explorable system ID with type"

        if not (explorableSystemsType in EnumsAI.getAIExplorableSystemTypes()):
            return

        systems = self.__explorableSystemByType[explorableSystemsType]
        if systemID in systems:
            return
        systems[systemID] = systemID
Ejemplo n.º 3
0
    def getExplorableSystem(self, systemID):
        "determines system type from ID and returns it"

        for explorableSystemsType in EnumsAI.getAIExplorableSystemTypes():
            systems = self.getExplorableSystems(explorableSystemsType)
            if systemID in systems:
                return explorableSystemsType

        # print "SystemID " + str(systemID) + " not found."
        return AIExplorableSystemType.EXPLORABLE_SYSTEM_INVALID
Ejemplo n.º 4
0
    def __init__(self):
        "constructor"

        self.__missionsByType = {}
        for missionType in EnumsAI.getAIFleetMissionTypes():
            self.__missionsByType[missionType] = {}

        self.__aiMissionsByFleetID = {}

        self.__shipRoleByDesignID = {}
        self.__fleetRoleByID = {}
        self.__priorityByType = {}

        self.__explorableSystemByType = {}
        for explorableSystemsType in EnumsAI.getAIExplorableSystemTypes():
            self.__explorableSystemByType[explorableSystemsType] = {}