Ejemplo n.º 1
0
    def createGlobals(self):
        """
        Create "global" objects, e.g. TimeManager et al.
        """
        self.notify.info('Creating District Stats')
        self.districtStats = ToontownDistrictStatsAI(self)
        self.districtStats.settoontownDistrictId(self.districtId)
        self.districtStats.generateWithRequiredAndId(self.allocateChannel(),
                                                     self.getGameDoId(), 3)
        self.notify.info('Creating Time Manager')
        self.timeManager = TimeManagerAI(self)
        self.timeManager.generateWithRequired(2)

        self.notify.info('Creating News Manager')
        self.newsManager = NewsManagerAI(self)
        self.newsManager.generateWithRequired(2)

        if config.GetBool('want-mw-manager', True):
            self.notify.info('Creating Magic Words Manager')
            self.magicWordManager = MagicWordManagerAI(self)
            self.magicWordManager.generateWithRequired(2)

        if config.GetBool('want-friends-manager', True):
            self.notify.info('Creating Friends Manager')
            self.friendManager = FriendManagerAI(self)
            self.friendManager.generateWithRequired(2)

        if config.GetBool('want-parties', True):
            self.notify.info('Creating Parties Manager')
            self.partyManager = DistributedPartyManagerAI(self)
            self.partyManager.generateWithRequired(2)

            # Setup our view of the global party manager ud
            self.globalPartyMgr = self.generateGlobalObject(
                OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')

        if config.GetBool('want-estates-manager', True):
            self.notify.info('Creating Estates')
            self.estateManager = EstateManagerAI(self)
            self.estateManager.generateWithRequired(2)

        self.notify.info('Creating TrophyMgr')
        self.trophyMgr = DistributedTrophyMgrAI(self)
        self.trophyMgr.generateWithRequired(2)

        self.notify.info('Creating Toontorial Manager')
        self.tutorialManager = TutorialManagerAI(self)
        self.tutorialManager.generateWithRequired(2)

        self.notify.info('Creating Catalog Manager')
        self.catalogManager = CatalogManagerAI(self)
        self.catalogManager.generateWithRequired(2)
        if config.GetBool('want-pets', True):
            self.notify.info('Creating Pets Manager')
            self.PetManager = PetManagerAI(self)

        self.notify.info('Creating Code Redemption Manager')
        self.codeRedemptionManager = TTCodeRedemptionMgrAI(self)
        self.codeRedemptionManager.generateWithRequired(2)
Ejemplo n.º 2
0
    def createGlobals(self):
        """
        Create "global" objects, e.g. TimeManager et al.
        """
        self.districtStats = ToontownDistrictStatsAI(self)
        self.districtStats.settoontownDistrictId(self.districtId)
        self.districtStats.generateWithRequiredAndId(self.allocateChannel(),
                                                     self.getGameDoId(), 3)
        self.notify.info('Created district stats AI (%d).' %
                         self.districtStats.doId)
        self.timeManager = TimeManagerAI(self)
        self.timeManager.generateWithRequired(2)

        self.newsManager = NewsManagerAI(self)
        self.newsManager.generateWithRequired(2)

        self.staffManager = StaffManagerAI(self)
        self.staffManager.generateWithRequired(2)

        self.banManager = BanManagerAI(self)
        self.banManager.generateWithRequired(2)

        self.magicWordManager = MagicWordManagerAI(self)
        self.magicWordManager.generateWithRequired(2)

        self.friendManager = FriendManagerAI(self)
        self.friendManager.generateWithRequired(2)

        if config.GetBool('want-parties', True):
            self.partyManager = DistributedPartyManagerAI(self)
            self.partyManager.generateWithRequired(2)

            # setup our view of the global party manager ud
            self.globalPartyMgr = self.generateGlobalObject(
                OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')

        self.estateManager = EstateManagerAI(self)
        self.estateManager.generateWithRequired(2)

        self.trophyMgr = DistributedTrophyMgrAI(self)
        self.trophyMgr.generateWithRequired(2)

        if config.GetBool('want-pets', True):
            self.petMgr = PetManagerAI(self)
        self.tutorialManager = TutorialManagerAI(self)
        self.tutorialManager.generateWithRequired(2)

        self.catalogManager = CatalogManagerAI(self)
        self.catalogManager.generateWithRequired(2)

        self.codeRedemptionManager = TTCodeRedemptionMgrAI(self)
        self.codeRedemptionManager.generateWithRequired(2)

        self.ttFriendsManager = self.generateGlobalObject(
            OTP_DO_ID_TT_FRIENDS_MANAGER, 'TTFriendsManager')

        self.csm = self.generateGlobalObject(OTP_DO_ID_CLIENT_SERVICES_MANAGER,
                                             'ClientServicesManager')
Ejemplo n.º 3
0
 def createManagers(self):
     self.timeManager = TimeManagerAI(self)
     self.timeManager.generateWithRequired(2)
     self.magicWordManager = MagicWordManagerAI(self)
     self.magicWordManager.generateWithRequired(2)
     self.newsManager = NewsManagerAI(self)
     self.newsManager.generateWithRequired(2)
     self.safeZoneManager = SafeZoneManagerAI(self)
     self.safeZoneManager.generateWithRequired(2)
     self.tutorialManager = TutorialManagerAI(self)
     self.tutorialManager.generateWithRequired(2)
     self.friendManager = FriendManagerAI(self)
     self.friendManager.generateWithRequired(2)
     self.questManager = QuestManagerAI(self)
     self.banManager = BanManagerAI.BanManagerAI(self)
     self.achievementsManager = AchievementsManagerAI(self)
     self.certManager = CertificateManagerAI(self)
     self.suitInvasionManager = SuitInvasionManagerAI(self)
     self.trophyMgr = DistributedTrophyMgrAI(self)
     self.trophyMgr.generateWithRequired(2)
     self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI(self)
     self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self)
     self.experienceMgr = ExperienceRewardManagerAI.ExperienceRewardManagerAI(self)
     self.cogPageManager = CogPageManagerAI.CogPageManagerAI()
     self.sillyMeterMgr = DistributedSillyMeterMgrAI.DistributedSillyMeterMgrAI(self)
     self.sillyMeterMgr.generateWithRequired(2)
     self.hydrantZeroMgr = DistributedHydrantZeroMgrAI.DistributedHydrantZeroMgrAI(self)
     self.hydrantZeroMgr.generateWithRequired(2)
     self.mailboxZeroMgr = DistributedMailboxZeroMgrAI.DistributedMailboxZeroMgrAI(self)
     self.mailboxZeroMgr.generateWithRequired(2)
     self.trashcanZeroMgr = DistributedTrashcanZeroMgrAI.DistributedTrashcanZeroMgrAI(self)
     self.trashcanZeroMgr.generateWithRequired(2)
     self.dialogueManager = DialogueManagerAI(self)
     self.bingoHolidayMgr = BingoHolidayMgrAI(self, ToontownGlobals.FISH_BINGO_NIGHT)
     self.bingoWeekendMgr = BingoWeekendMgrAI(self, ToontownGlobals.SILLY_SATURDAY_BINGO)
     self.trolleyHolidayMgr = TrolleyHolidayMgrAI(self, ToontownGlobals.TROLLEY_HOLIDAY)
     self.trolleyWeekendMgr = TrolleyWeekendMgrAI(self, ToontownGlobals.TROLLEY_WEEKEND)
     self.holidayManager = HolidayManagerAI(self)
     if self.wantFishing:
         self.fishManager = FishManagerAI(self)
     if self.wantHousing:
         self.estateManager = EstateManagerAI(self)
         self.estateManager.generateWithRequired(2)
         self.catalogManager = CatalogManagerAI(self)
         self.catalogManager.generateWithRequired(2)
         self.deliveryManager = self.generateGlobalObject(OTP_DO_ID_TOONTOWN_DELIVERY_MANAGER, 'DistributedDeliveryManager')
         self.mailManager = self.generateGlobalObject(OTP_DO_ID_TOONTOWN_MAIL_MANAGER, 'DistributedMailManager')
     if self.wantPets:
         self.petMgr = PetManagerAI(self)
     if self.wantParties:
         self.partyManager = DistributedPartyManagerAI(self)
         self.partyManager.generateWithRequired(2)
         self.globalPartyMgr = self.generateGlobalObject(OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')
     self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self)
     self.codeRedemptionMgr.generateWithRequired(2)
     self.chatAgent = simbase.air.generateGlobalObject(OTP_DO_ID_CHAT_MANAGER, 'ChatAgent')
    def createManagers(self):
        self.timeManager = TimeManagerAI(self)
        self.timeManager.generateWithRequired(2)
        self.magicWordManager = MagicWordManagerAI(self)
        self.magicWordManager.generateWithRequired(2)
        self.newsManager = NewsManagerAI(self)
        self.newsManager.generateWithRequired(2)

        self.holidayManager = HolidayManagerAI(self)

        self.safeZoneManager = SafeZoneManagerAI(self)
        self.safeZoneManager.generateWithRequired(2)
        self.tutorialManager = TutorialManagerAI(self)
        self.tutorialManager.generateWithRequired(2)
        self.friendManager = FriendManagerAI(self)
        self.friendManager.generateWithRequired(2)
        self.questManager = QuestManagerAI(self)
        self.banManager = BanManagerAI.BanManagerAI(self)
        self.suitInvasionManager = SuitInvasionManagerAI(self)
        self.trophyMgr = DistributedTrophyMgrAI(self)
        self.trophyMgr.generateWithRequired(2)
        self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI(self)
        self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self)
        self.cogPageManager = CogPageManagerAI.CogPageManagerAI()

        if self.wantFishing:
            self.fishManager = FishManagerAI(self)
        if self.wantHousing:
            self.estateManager = EstateManagerAI(self)
            self.estateManager.generateWithRequired(2)
            self.catalogManager = CatalogManagerAI(self)
            self.catalogManager.generateWithRequired(2)
            self.deliveryManager = self.generateGlobalObject(
                OTP_DO_ID_TOONTOWN_DELIVERY_MANAGER,
                'DistributedDeliveryManager')
        if self.wantPets:
            self.petMgr = PetManagerAI(self)

        if self.wantParties:
            self.partyManager = DistributedPartyManagerAI(self)
            self.partyManager.generateWithRequired(2)
            # Setup view of global ub party manager
            self.globalPartyMgr = self.generateGlobalObject(
                OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')

        self.wantLeaderBoardMgr = True
        if self.wantLeaderBoardMgr:
            self.leaderBoardMgr = DistributedLeaderBoardManagerAI(self)

        # Need work
        self.codeRedemptionManager = TTCodeRedemptionMgrAI(self)
        self.codeRedemptionManager.generateWithRequired(2)
 def createManagers(self):
     self.timeManager = TimeManagerAI(self)
     self.timeManager.generateWithRequired(2)
     self.magicWordManager = MagicWordManagerAI(self)
     self.magicWordManager.generateWithRequired(2)
     self.newsManager = NewsManagerAI(self)
     self.newsManager.generateWithRequired(2)
     self.safeZoneManager = SafeZoneManagerAI(self)
     self.safeZoneManager.generateWithRequired(2)
     self.topToonsMgr = TopToonsManagerAI(self)
     #self.topToonsMgr.generateWithRequired(2)
     self.tutorialManager = TutorialManagerAI(self)
     self.tutorialManager.generateWithRequired(2)
     self.friendManager = FriendManagerAI(self)
     self.friendManager.generateWithRequired(2)
     self.questManager = QuestManagerAI(self)
     self.banManager = BanManagerAI.BanManagerAI(self)
     self.suitInvasionManager = SuitInvasionManagerAI(self)
     self.blackCatMgr = DistributedBlackCatMgrAI(self)
     self.blackCatMgr.generateWithRequired(2)
     self.reportMgr = DistributedReportMgrAI(self)
     self.reportMgr.generateWithRequired(2)
     self.trophyMgr = DistributedTrophyMgrAI(self)
     self.trophyMgr.generateWithRequired(2)
     self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI()
     self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self)
     self.cogPageManager = CogPageManagerAI.CogPageManagerAI()
     self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self)
     self.codeRedemptionMgr.generateWithRequired(2)
     self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self)
     self.buildingQueryMgr.generateWithRequired(2)
     if self.wantTopToons:
         self.topToonsMgr = TopToonsManagerAI(self)
     if self.wantKarts:
         self.leaderboardMgr = LeaderboardMgrAI(self)
     if self.wantFishing:
         self.fishManager = FishManagerAI(self)
     if self.wantHousing:
         self.estateManager = EstateManagerAI(self)
         self.estateManager.generateWithRequired(2)
         self.catalogManager = CatalogManagerAI(self)
         self.catalogManager.generateWithRequired(2)
     if self.wantPets:
         self.petMgr = PetManagerAI(self)
     if self.wantParties:
         self.partyManager = DistributedPartyManagerAI(self)
         self.partyManager.generateWithRequired(2)
         self.globalPartyMgr = self.generateGlobalObject(
             OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')
Ejemplo n.º 6
0
 def createGlobals(self):
     self.districtStats = ToontownDistrictStatsAI(self)
     self.districtStats.settoontownDistrictId(self.districtId)
     self.districtStats.generateWithRequiredAndId(self.allocateChannel(),
                                                  self.getGameDoId(),
                                                  OTP_ZONE_ID_DISTRICTS)
     self.notify.info('Created district stats AI (%d).' %
                      self.districtStats.doId)
     self.timeManager = TimeManagerAI(self)
     self.timeManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.newsManager = NewsManagerAI(self)
     self.newsManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.suitInvasionManager = SuitInvasionManagerAI(self)
     self.holidayManager = HolidayManagerAI(self)
     self.magicWordManager = MagicWordManagerAI(self)
     self.magicWordManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.friendManager = FriendManagerAI(self)
     self.friendManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.sillyMeterMgr = DistributedSillyMeterMgrAI(self)
     self.sillyMeterMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     if config.GetBool('want-code-redemption', True):
         self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self)
         self.codeRedemptionMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     if config.GetBool('want-parties', True):
         self.partyManager = DistributedPartyManagerAI(self)
         self.partyManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
         self.globalPartyMgr = self.generateGlobalObject(
             OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')
     if config.GetBool('want-estates', True):
         self.estateManager = EstateManagerAI(self)
         self.estateManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.trophyMgr = DistributedTrophyMgrAI(self)
     self.trophyMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     if simbase.wantPets:
         self.petMgr = PetManagerAI(self)
     self.tutorialManager = TutorialManagerAI(self)
     self.tutorialManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.catalogManager = CatalogManagerAI(self)
     self.catalogManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     if config.GetBool('want-event-manager', False):
         self.eventManager = DistributedEventManagerAI(self)
         self.eventManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     if config.GetBool('want-news-page', False):
         self.inGameNewsMgr = DistributedInGameNewsMgrAI(self)
         self.inGameNewsMgr.setLatestIssueStr('2013-08-22 23:49:46')
         self.inGameNewsMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
     self.banManager = self.generateGlobalObject(OTP_DO_ID_BAN_MANAGER,
                                                 'BanManager')
    def createObjects(self):
        # First, load up all of our DNA files for the world.
        self.loadDNA()

        # Create a new district (aka shard) for this AI:
        self.district = ToontownDistrictAI(self, self.districtName)
        self.district.generateOtpObject(OTP_DO_ID_TOONTOWN,
                                        OTP_ZONE_ID_DISTRICTS,
                                        doId=self.districtId)

        # The Time manager.  This negotiates a timestamp exchange for
        # the purposes of synchronizing clocks between client and
        # server with a more accurate handshaking protocol than we
        # would otherwise get.
        #
        # We must create this object first, so clients who happen to
        # come into the world while the AI is still coming up
        # (particularly likely if the AI crashed while players were
        # in) will get a chance to synchronize.
        self.timeManager = TimeManagerAI.TimeManagerAI(self)
        self.timeManager.generateOtpObject(self.district.getDoId(),
                                           OTPGlobals.UberZone)

        self.partyManager = DistributedPartyManagerAI.DistributedPartyManagerAI(
            self)
        self.partyManager.generateOtpObject(self.district.getDoId(),
                                            OTPGlobals.UberZone)

        self.inGameNewsMgr = DistributedInGameNewsMgrAI.DistributedInGameNewsMgrAI(
            self)
        self.inGameNewsMgr.generateOtpObject(self.district.getDoId(),
                                             OTPGlobals.UberZone)

        self.cpuInfoMgr = DistributedCpuInfoMgrAI.DistributedCpuInfoMgrAI(self)
        self.cpuInfoMgr.generateOtpObject(self.district.getDoId(),
                                          OTPGlobals.UberZone)

        if config.GetBool('want-code-redemption', 1):
            self.codeRedemptionManager = TTCodeRedemptionMgrAI(self)
            self.codeRedemptionManager.generateOtpObject(
                self.district.getDoId(), OTPGlobals.UberZone)

        self.randomSourceManager = NonRepeatableRandomSourceAI(self)
        # QuietZone so that the client doesn't get a generate
        self.randomSourceManager.generateOtpObject(self.district.getDoId(),
                                                   OTPGlobals.QuietZone)

        self.welcomeValleyManager = WelcomeValleyManagerAI.WelcomeValleyManagerAI(
            self)
        self.welcomeValleyManager.generateWithRequired(OTPGlobals.UberZone)

        # The trophy manager should be created before the building
        # managers.
        self.trophyMgr = DistributedTrophyMgrAI.DistributedTrophyMgrAI(self)
        self.trophyMgr.generateWithRequired(OTPGlobals.UberZone)

        # The bank manager handles banking transactions
        self.bankMgr = DistributedBankMgrAI.DistributedBankMgrAI(self)
        self.bankMgr.generateWithRequired(OTPGlobals.UberZone)

        # The Friend Manager
        #self.friendManager = FriendManagerAI.FriendManagerAI(self)
        #self.friendManager.generateWithRequired(OTPGlobals.UberZone)

        # The Delete Manager
        self.deleteManager = DeleteManagerAI.DeleteManagerAI(self)
        self.deleteManager.generateWithRequired(OTPGlobals.UberZone)

        # The Safe Zone manager
        self.safeZoneManager = SafeZoneManagerAI.SafeZoneManagerAI(self)
        self.safeZoneManager.generateWithRequired(OTPGlobals.UberZone)

        # The Magic Word Manager
        magicWordString = simbase.config.GetString('want-magic-words', '1')
        if magicWordString not in ('', '0', '#f'):
            self.magicWordManager = ToontownMagicWordManagerAI.ToontownMagicWordManagerAI(
                self)
            self.magicWordManager.generateWithRequired(OTPGlobals.UberZone)

        # The Tutorial manager
        self.tutorialManager = TutorialManagerAI.TutorialManagerAI(self)
        self.tutorialManager.generateWithRequired(OTPGlobals.UberZone)

        # The Catalog Manager
        self.catalogManager = CatalogManagerAI.CatalogManagerAI(self)
        self.catalogManager.generateWithRequired(OTPGlobals.UberZone)

        # The Quest manager
        self.questManager = QuestManagerAI.QuestManagerAI(self)

        # The Fish manager
        self.fishManager = FishManagerAI.FishManagerAI(self)

        # The Cog Page manager
        self.cogPageManager = CogPageManagerAI.CogPageManagerAI(self)

        # The Suit Invasion Manager
        self.suitInvasionManager = SuitInvasionManagerAI.SuitInvasionManagerAI(
            self)

        # The Firework Manager: This object really only exists so we can
        # fire off fireworks with magic words. Normally this is a holiday
        # manager driven event and therefore the constructor needs a
        # holidayId. Pass in fourth of july as default.  To do: override
        # holiday ID with a magic word
        self.fireworkManager = FireworkManagerAI.FireworkManagerAI(
            self, NEWYEARS_FIREWORKS)

        # Create an NPC Dialogue manager that manages conversations
        # amongst a set of NPC's
        self.dialogueManager = NPCDialogueManagerAI.NPCDialogueManagerAI()

        # The News manager
        self.newsManager = NewsManagerAI.NewsManagerAI(self)
        self.newsManager.generateWithRequired(OTPGlobals.UberZone)

        # The Factory Manager
        self.factoryMgr = FactoryManagerAI.FactoryManagerAI(self)

        # The Mint Manager
        self.mintMgr = MintManagerAI.MintManagerAI(self)

        #the Law Office Manager
        self.lawMgr = LawOfficeManagerAI.LawOfficeManagerAI(self)

        # The Cog Country Club Manager
        self.countryClubMgr = CountryClubManagerAI.CountryClubManagerAI(self)

        if simbase.wantKarts:
            # The Race Manager
            self.raceMgr = RaceManagerAI.RaceManagerAI(self)

        self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI(self)
        self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self)

        # Housing
        self.estateMgr = EstateManagerAI.EstateManagerAI(self)
        self.estateMgr.generateWithRequired(OTPGlobals.UberZone)

        if simbase.wantPets:
            # Pets -- must be created after estateMgr
            self.petMgr = PetManagerAI.PetManagerAI(self)

        # Now create the neighborhood-specific objects.
        self.startupHood(TTHoodDataAI.TTHoodDataAI(self))
        self.startupHood(DDHoodDataAI.DDHoodDataAI(self))
        self.startupHood(MMHoodDataAI.MMHoodDataAI(self))
        self.startupHood(DGHoodDataAI.DGHoodDataAI(self))
        self.startupHood(BRHoodDataAI.BRHoodDataAI(self))
        self.startupHood(DLHoodDataAI.DLHoodDataAI(self))
        self.startupHood(CSHoodDataAI.CSHoodDataAI(self))
        self.startupHood(GSHoodDataAI.GSHoodDataAI(self))
        self.startupHood(OZHoodDataAI.OZHoodDataAI(self))
        self.startupHood(GZHoodDataAI.GZHoodDataAI(self))
        self.startupHood(CashbotHQDataAI.CashbotHQDataAI(self))
        self.startupHood(LawbotHQDataAI.LawbotHQDataAI(self))
        self.startupHood(BossbotHQDataAI.BossbotHQDataAI(self))

        # The Holiday Manager should be instantiated after the each
        # of the hoods and estateMgrAI are generated because Bingo Night
        # needs to reference the HoodDataAI and EstateMgrAI for pond
        # information. (JJT - 7/22/04)
        self.holidayManager = HolidayManagerAI.HolidayManagerAI(self)

        self.banManager = BanManagerAI.BanManagerAI()

        # Now that we've created all the suit planners, any one of
        # them can be used to fill the world with requests for suit
        # buildings.
        if self.suitPlanners:
            list(self.suitPlanners.values())[0].assignInitialSuitBuildings()

        # mark district as avaliable
        self.district.b_setAvailable(1)

        # Now that everything's created, start checking the leader
        # boards for correctness.  We only need to check every 30
        # seconds or so.
        self.__leaderboardFlush(None)
        taskMgr.doMethodLater(30,
                              self.__leaderboardFlush,
                              'leaderboardFlush',
                              appendTask=True)