Пример #1
0
        public static void ShaffleEmployees(GameEntity company, GameContext gameContext)
        {
            //Debug.Log("ShaffleEmployees: " + company.company.Name + " " + company.company.Id);

            #region remove previous employees
            foreach (var humanId in company.employee.Managers.Keys)
            {
                var h = Humans.GetHuman(gameContext, humanId);

                h.Destroy();
            }

            //Debug.Log("ShaffleEmployees: will remove " + company.employee.Managers.Keys.Count + " employees");

            company.employee.Managers.Clear();
            #endregion

            var roles = GetRolesTheoreticallyPossibleForThisCompanyType(company);

            for (var i = 0; i < roles.Count; i++)
            {
                var index = Random.Range(0, roles.Count);

                var role = roles[index];

                var worker  = Humans.GenerateHuman(gameContext, role);
                var humanId = worker.human.Id;

                //Debug.Log($"human #{i} - {role}. Human Id = {humanId}");

                company.employee.Managers[humanId] = role;
            }

            //Debug.Log("ShaffleEmployees: " + company.company.Name + " DONE");
        }
Пример #2
0
        public static void AddEmployee(GameEntity company, GameContext gameContext, int managerTasks, WorkerRole role)
        {
            // Control rating levels for new workers
            var worker = Humans.GenerateHuman(gameContext, role);

            var rating = GetNewWorkerRandomRating(company, gameContext, managerTasks);

            Humans.ResetSkills(worker, (int)rating);

            company.employee.Managers[worker.HumanComponent.Id] = role;
        }
Пример #3
0
        private static GameEntity CreateCompany(GameContext context, string name, CompanyType companyType)
        {
            var CEO = Humans.GenerateHuman(context);


            var level = UnityEngine.Random.Range(70, 90);

            Humans.SetTrait(CEO, Trait.Ambitious);
            Humans.SetSkills(CEO, WorkerRole.CEO);

            return(CreateCompany(context, name, companyType, new Dictionary <int, BlockOfShares>(), CEO));
        }
Пример #4
0
        public static GameEntity GenerateAngel(GameContext gameContext)
        {
            var human = Humans.GenerateHuman(gameContext);

            var investorId = GenerateInvestorId(gameContext);

            BecomeInvestor(gameContext, human, 1000000);

            TurnToAngel(gameContext, investorId);

            return(human);
        }
Пример #5
0
 // managers
 public static void HireManager(GameEntity company, GameContext gameContext, WorkerRole workerRole) => HireManager(company, Humans.GenerateHuman(gameContext, workerRole));
Пример #6
0
 public static HumanFF HireManager(GameEntity company, GameContext gameContext, WorkerRole workerRole, int teamId) => HireManager(company, gameContext, Humans.GenerateHuman(gameContext, workerRole), teamId);