private SharedWorker GenerateSingleWorker()
    {
        //Randomly selected name, surename and gender for new worker
        Gender newWorkerGender = (Gender)UnityEngine.Random.Range(0, NUMBER_OF_GENDERS);

        int    nameIndex;
        string newWorkerName     = CreateWorkerName(newWorkerGender, out nameIndex);
        int    surenameIndex     = UnityEngine.Random.Range(0, WorkerData.Surenames.Count);
        string newWorkerSurename =
            WorkerData.Surenames[surenameIndex];

        SharedWorker newMarketWorker =
            new SharedWorker(newWorkerName, newWorkerSurename, newWorkerGender);

        newMarketWorker.Abilites       = CreateWorkerAbilities();
        newMarketWorker.ExperienceTime = CalculateWorkerExpierience(newMarketWorker);
        newMarketWorker.Salary         = CalculateWorkerSalary(newMarketWorker);
        newMarketWorker.ID             = MainSimulationManager.GenerateID();
        int avatarIndex;

        newMarketWorker.Avatar        = CreateWorkerAvatar(newMarketWorker, out avatarIndex);
        newMarketWorker.AvatarIndex   = avatarIndex;
        newMarketWorker.NameIndex     = nameIndex;
        newMarketWorker.SurenameIndex = surenameIndex;

        return(newMarketWorker);
    }
Exemplo n.º 2
0
        private void Start()
        {
            SimulationManagerComponent = GetComponent <MainSimulationManager>();
            GameTimeComponent          = GetComponent <GameTime>();

            MaxLoanAmout  = SimulationSettings.TargetBalance / 10;
            MinLoanAmount = MaxLoanAmout / 10;
        }
    private void Start()
    {
        GameTimeComponent          = GetComponent <GameTime>();
        SimulationManagerComponent = GetComponent <MainSimulationManager>();

        GameTimeComponent.MonthChanged += HandleCompanyExpenses;
        GameTimeComponent.DayChanged   += UpdateWorkersState;
        GameTimeComponent.YearChanged  += HandleWorkerHolidayLimits;

        SimulationManagerComponent.ControlledCompany.ProjectAdded  += OnCompanyProjectAdded;
        SimulationManagerComponent.ControlledCompany.WorkerRemoved += OnCompanyWorkerRemoved;
        SimulationManagerComponent.ControlledCompany.WorkerAdded   += OnCompanyWorkerAdded;

        foreach (LocalWorker companyWorker in SimulationManagerComponent.ControlledCompany.Workers)
        {
            companyWorker.SalaryChanged += OnCompanyWorkerSalaryChanged;
        }
    }
Exemplo n.º 4
0
    private SharedProject GenerateSingleProject()
    {
        SharedProject newProject;
        int           projectNameIndex = UnityEngine.Random.Range(0, ProjectData.Names.Count);
        string        projectName      =
            ProjectData.Names[projectNameIndex];

        newProject = new SharedProject(projectName);
        newProject.UsedTechnologies = GenerateProjectTechnologies();
        newProject.CompletionTime   = UnityEngine.Random.Range(PROJECT_COMPLETION_TIME_MIN, PROJECT_COMPLETION_TIME_MAX);
        newProject.CompletionBonus  = CalculateProjectCompleteBonus(newProject);
        newProject.ID        = MainSimulationManager.GenerateID();
        newProject.NameIndex = projectNameIndex;
        //Every project name is associated with one icon
        newProject.IconIndex = projectNameIndex;
        newProject.Icon      = ResourceHolderComponent.ProjectsIcons[projectNameIndex];

        return(newProject);
    }
Exemplo n.º 5
0
 private void Awake()
 {
     GameTimeComponent          = GetComponent <GameTime>();
     SimulationManagerComponent = GetComponent <MainSimulationManager>();
 }
Exemplo n.º 6
0
 private void Start()
 {
     this.SimulationManagerComponent = GetComponent <MainSimulationManager>();
     SimulationManagerComponent.ControlledCompany.WorkerAdded   += OnControlledCompanyWorkerAdded;
     SimulationManagerComponent.ControlledCompany.WorkerRemoved += OnControlledCompanyWorkerRemoved;
 }