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"); }
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; }
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)); }
public static GameEntity GenerateAngel(GameContext gameContext) { var human = Humans.GenerateHuman(gameContext); var investorId = GenerateInvestorId(gameContext); BecomeInvestor(gameContext, human, 1000000); TurnToAngel(gameContext, investorId); return(human); }
// managers public static void HireManager(GameEntity company, GameContext gameContext, WorkerRole workerRole) => HireManager(company, Humans.GenerateHuman(gameContext, workerRole));
public static HumanFF HireManager(GameEntity company, GameContext gameContext, WorkerRole workerRole, int teamId) => HireManager(company, gameContext, Humans.GenerateHuman(gameContext, workerRole), teamId);