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); }
public static void HireManager(GameEntity company, GameEntity worker) { var role = Humans.GetRole(worker); AttachToTeam(company, worker, role); company.employee.Managers.Remove(worker.human.Id); }
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); }
public static void HuntManager(HumanFF worker, GameEntity newCompany, GameContext gameContext, int teamId) { FireManager(gameContext, worker); AttachToCompany(newCompany, gameContext, worker, Humans.GetRole(worker), teamId); }