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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public static GameEntity GetInvestorById(GameContext context, int investorId)
 {
     return(Investments.GetInvestor(context, investorId));
 }
Esempio n. 4
0
        public static GameEntity GetSelectedInvestor(GameContext gameContext)
        {
            var id = GetScreenParameter(gameContext, C.MENU_SELECTED_INVESTOR);

            return(Investments.GetInvestor(gameContext, (int)id));
        }