Пример #1
0
        public static Bonus <float> GetDirectManagementCostOfTeam(TeamInfo team, GameEntity company, GameContext gameContext)
        {
            var bonus = new Bonus <float>("Cost of " + team.Name);

            var managers = GetPeople(team, gameContext);
            var mainRole = GetMainManagerRole(team);

            // 50...90
            foreach (var m in managers)
            {
                var rating = Humans.GetRating(m);

                // Lead gain
                if (Humans.GetRole(m) == mainRole)
                {
                    bonus.Append($"{mainRole}  <b>{rating}lvl</b>", rating / 10f);
                    continue;
                }

                bonus.Append($"{m.HumanComponent.Name} {m.HumanComponent.Surname} <b>{rating}lvl</b>", (rating - 150) / 100f);
            }

            var processes = GetPolicyValueModified(company, CorporatePolicy.PeopleOrProcesses, 1f, 0.5f, 0.25f);

            bonus.MultiplyAndHideIfOne("From corporate policies", processes);

            team.isManagedBadly = bonus.Sum() < 0;

            return(bonus);
        }
Пример #2
0
        public static void HireManager(GameEntity company, GameEntity worker)
        {
            var role = Humans.GetRole(worker);

            AttachToTeam(company, worker, role);

            company.employee.Managers.Remove(worker.human.Id);
        }
Пример #3
0
        public static HumanFF HireManager(GameEntity company, GameContext gameContext, HumanFF worker, int teamId)
        {
            var role = Humans.GetRole(worker);

            AttachToCompany(company, gameContext, worker, role, teamId);

            company.employee.Managers.Remove(worker.HumanComponent.Id);

            return(worker);
        }
Пример #4
0
        public static void HuntManager(HumanFF worker, GameEntity newCompany, GameContext gameContext, int teamId)
        {
            FireManager(gameContext, worker);

            AttachToCompany(newCompany, gameContext, worker, Humans.GetRole(worker), teamId);
        }