def AddPersonProfile(self, name): """ Args: name -- string name of the person """ profile = SocialNodes.PersonProfile(name) WorldInfo.WorldInfo.AddPersonProfile(self, profile) return profile
def AddBusiness(self, name, profile): """ Args: business -- string name of the business to create profile -- object of type SocialNodes.BusinessProfile """ business = SocialNodes.Business(name, profile) WorldInfo.WorldInfo.AddBusiness(self, business) return business
def AddBusinessProfile(self, name, biztype, joblist): """ Args: name -- unique string name for the business profile biztype -- constant of type SocialDecoration.BusinessType joblist -- dictionary mapping type SocialDecoration.JobDescription --> Demand """ bizprof = SocialNodes.BusinessProfile(name, biztype, joblist) WorldInfo.WorldInfo.AddBusinessProfile(self, bizprof) return bizprof
def AddPerson(self, name, profile): """ Args: name -- string name of the person profile -- object of type SocialNodes.PersonProfile employer -- object of type SocialNodes.Business job -- object of type SocialDecoration.JobDescription residence -- """ person = SocialNodes.Person(name, profile) WorldInfo.WorldInfo.AddPerson(self, person) return person
def AddScaledBusinessProfile(self, name, parent, scale=1.0, offset=0.0): """ Args: name -- unique string name for the business profile parent -- object of type SocialNodes.BusinessProfile scale -- factor to adjust number of employees of each type offset -- factor to adjust job start times """ biztype = parent.BusinessProfile.BusinessType annotations = parent.BusinessProfile.Annotations.keys() joblist = parent.EmploymentProfile.ScaleProfile(scale, offset) bizprof = SocialNodes.BusinessProfile(name, biztype, joblist, annotations) WorldInfo.WorldInfo.AddBusinessProfile(self, bizprof) WorldInfo.WorldInfo.RelateDerivedProfiles(self, bizprof, parent) return bizprof