#import utility functions
from CvPythonExtensions import *
import pickle
def getCityNumber(city):
cityDict = pickle.loads( city.getScriptData() )
cityDict['unitNumber'] = cityDict['unitNumber'] + 1
city.setScriptData( pickle.dumps(cityDict) )
return cityDict['unitNumber']
def onUnitBuilt(argsList):
city = argsList[0]
unit = argsList[1]
unit.setName(findOrdinal(getCityNumber(city)) + " " + unit.getName() + " of " + city.getName())
return 0
def onCityBuilt(argsList):
city = argsList[0]
cityDict = {'unitNumber':0}
city.setScriptData( pickle.dumps(cityDict) )
return 0
def findOrdinal(num):
t = 'th st nd rd th th th th th th'.split()
if num % 100 in (11, 12, 13): #special case
return '%dth' % num
return str(num) + t[num % 10]
def EventHandlerRegister(eventManager,unused = None):
return {'unitBuilt-':onUnitBuilt,'cityBuilt-':onCityBuilt}