public static GameEntity GetParentCompany(GameContext context, GameEntity company) { if (company.isIndependentCompany) { return(null); } var shares = 0; var shareholders = company.shareholders.Shareholders; GameEntity parent = null; foreach (var shareholder in shareholders) { var id = shareholder.Key; var block = shareholder.Value.amount; var investor = Investments.GetInvestor(context, id); if (investor.hasCompany) { // is managing company if (block > shares) { parent = investor; } } } return(parent); }
public static long GetFounderExitDesire(GameEntity startup, int shareholderId, GameContext gameContext) { var founder = Investments.GetInvestor(gameContext, shareholderId); var ambition = Humans.GetFounderAmbition(founder.humanSkills.Traits, Humans.GetRating(founder)); if (ambition == Ambition.EarnMoney) { return(C.COMPANY_DESIRE_TO_SELL_YES); } return(C.COMPANY_DESIRE_TO_SELL_NO); }
public static GameEntity GetInvestorById(GameContext context, int investorId) { return(Investments.GetInvestor(context, investorId)); }
public static GameEntity GetSelectedInvestor(GameContext gameContext) { var id = GetScreenParameter(gameContext, C.MENU_SELECTED_INVESTOR); return(Investments.GetInvestor(gameContext, (int)id)); }