示例#1
0
    def AddPersonProfile(self, name):
        """
        Args: 
            name -- string name of the person
        """
        profile = SocialNodes.PersonProfile(name)
        WorldInfo.WorldInfo.AddPersonProfile(self, profile)

        return profile
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#5
0
    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