ai: add district stats
This commit is contained in:
parent
9c258294ab
commit
b9c206a8d9
4 changed files with 59 additions and 4 deletions
|
@ -38,13 +38,15 @@ load-display pandagl
|
|||
aux-display pandagl
|
||||
aux-display pandadx9
|
||||
aux-display tinydisplay
|
||||
depth-bits 24
|
||||
win-size 800 600
|
||||
fullscreen #t
|
||||
compress-channels #t
|
||||
compress-channels #f
|
||||
display-lists 0
|
||||
early-random-seed 1
|
||||
ssl-cipher-list DEFAULT
|
||||
respect-prev-transform 1
|
||||
default-directnotify-level info
|
||||
notify-level-collide warning
|
||||
notify-level-chan warning
|
||||
notify-level-gobj warning
|
||||
|
|
|
@ -3,6 +3,7 @@ from otp.ai.AIZoneData import AIZoneDataStore
|
|||
from otp.distributed.OtpDoGlobals import *
|
||||
from toontown.distributed.ToontownInternalRepository import ToontownInternalRepository
|
||||
from toontown.distributed.ToontownDistrictAI import ToontownDistrictAI
|
||||
from toontown.distributed.ToontownDistrictStatsAI import ToontownDistrictStatsAI
|
||||
from toontown.ai.HolidayManagerAI import HolidayManagerAI
|
||||
from toontown.ai.NewsManagerAI import NewsManagerAI
|
||||
from toontown.catalog.CatalogManagerAI import CatalogManagerAI
|
||||
|
@ -17,6 +18,7 @@ class ToontownAIRepository(ToontownInternalRepository):
|
|||
self.doLiveUpdates = config.GetBool('want-live-updates', True)
|
||||
self.districtId = None
|
||||
self.district = None
|
||||
self.districtStats = None
|
||||
self.holidayManager = None
|
||||
self.zoneDataStore = None
|
||||
self.newsManager = None
|
||||
|
@ -61,6 +63,12 @@ class ToontownAIRepository(ToontownInternalRepository):
|
|||
Creates "global" (distributed) objects.
|
||||
"""
|
||||
|
||||
# Generate our district stats...
|
||||
self.districtStats = ToontownDistrictStatsAI(self)
|
||||
self.districtStats.settoontownDistrictId(self.districtId)
|
||||
self.districtStats.generateWithRequiredAndId(self.allocateChannel(), self.district.getDoId(),
|
||||
OTP_ZONE_ID_DISTRICTS_STATS)
|
||||
|
||||
# Generate our news manager...
|
||||
self.newsManager = NewsManagerAI(self)
|
||||
self.newsManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)
|
||||
|
@ -83,10 +91,10 @@ class ToontownAIRepository(ToontownInternalRepository):
|
|||
return self.zoneDataStore
|
||||
|
||||
def incrementPopulation(self):
|
||||
print 'TODO districtStats'
|
||||
self.districtStats.b_setAvatarCount(self.districtStats.getAvatarCount() + 1)
|
||||
|
||||
def decrementPopulation(self):
|
||||
print 'TODO districtStats'
|
||||
self.districtStats.b_setAvatarCount(self.districtStats.getAvatarCount() - 1)
|
||||
|
||||
def sendQueryToonMaxHp(self, avId, callback):
|
||||
pass # TODO?
|
||||
|
|
|
@ -3,3 +3,48 @@ from direct.distributed.DistributedObjectAI import DistributedObjectAI
|
|||
|
||||
class ToontownDistrictStatsAI(DistributedObjectAI):
|
||||
notify = DirectNotifyGlobal.directNotify.newCategory('ToontownDistrictStatsAI')
|
||||
|
||||
def __init__(self, air):
|
||||
DistributedObjectAI.__init__(self, air)
|
||||
self.toontownDistrictId = 0
|
||||
self.avatarCount = 0
|
||||
self.newAvatarCount = 0
|
||||
|
||||
def settoontownDistrictId(self, toontownDistrictId):
|
||||
self.toontownDistrictId = toontownDistrictId
|
||||
|
||||
def d_settoontownDistrictId(self, toontownDistrictId):
|
||||
self.sendUpdate('settoontownDistrictId', [toontownDistrictId])
|
||||
|
||||
def b_settoontownDistrictId(self, toontownDistrictId):
|
||||
self.settoontownDistrictId(toontownDistrictId)
|
||||
self.d_settoontownDistrictId(toontownDistrictId)
|
||||
|
||||
def gettoontownDistrictId(self):
|
||||
return self.toontownDistrictId
|
||||
|
||||
def setAvatarCount(self, avatarCount):
|
||||
self.avatarCount = avatarCount
|
||||
|
||||
def d_setAvatarCount(self, avatarCount):
|
||||
self.sendUpdate('setAvatarCount', [avatarCount])
|
||||
|
||||
def b_setAvatarCount(self, avatarCount):
|
||||
self.setAvatarCount(avatarCount)
|
||||
self.d_setAvatarCount(avatarCount)
|
||||
|
||||
def getAvatarCount(self):
|
||||
return self.avatarCount
|
||||
|
||||
def setNewAvatarCount(self, newAvatarCount):
|
||||
self.newAvatarCount = newAvatarCount
|
||||
|
||||
def d_setNewAvatarCount(self, newAvatarCount):
|
||||
self.sendUpdate('setNewAvatarCount', [newAvatarCount])
|
||||
|
||||
def b_setNewAvatarCount(self, newAvatarCount):
|
||||
self.setNewAvatarCount(newAvatarCount)
|
||||
self.d_setNewAvatarCount(newAvatarCount)
|
||||
|
||||
def getNewAvatarCount(self):
|
||||
return self.newAvatarCount
|
||||
|
|
|
@ -410,7 +410,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
|
|||
|
||||
def announceZoneChange(self, newZoneId, oldZoneId):
|
||||
from toontown.pets import PetObserve
|
||||
#self.air.welcomeValleyManager.toonSetZone(self.doId, newZoneId) # TODO
|
||||
self.air.welcomeValleyManager.toonSetZone(self.doId, newZoneId)
|
||||
broadcastZones = [oldZoneId, newZoneId]
|
||||
if self.isInEstate() or self.wasInEstate():
|
||||
broadcastZones = union(broadcastZones, self.estateZones)
|
||||
|
|
Loading…
Reference in a new issue