public override string RenderValue() { var demand = Marketing.GetClientFlow(Q, SelectedNiche); var audience = Markets.GetAudienceSize(Q, SelectedNiche); return($"{Format.Minify(audience)} users"); // (+{Format.Minify(demand)} weekly)"; }
public override string RenderValue() { return(""); var clients = Markets.GetAudienceSize(Q, SelectedNiche); var flow = Marketing.GetClientFlow(Q, SelectedNiche); return($"{Format.Minify(clients)} users\n\n+{Format.Minify(flow)} this month"); var potential = Markets.GetMarketPotential(Q, SelectedNiche); if (potential == 0) { return("???"); } var niche = Markets.GetNiche(Q, SelectedNiche); var min0 = Markets.GetMarketPotentialMin(niche); var max0 = Markets.GetMarketPotentialMax(niche); var min = Math.Min(min0, max0); var max = Math.Max(min0, max0); return(Format.Money(min) + " ... " + Format.Money(max)); }
public override void Execute() { Marketing.ReleaseApp(Q, Flagship); //NotificationUtils.AddPopup(Q, new PopupMessageDoYouWantToRelease(Flagship.company.Id)); //NotificationUtils.AddPopup(Q, new PopupMessageRelease(Flagship.company.Id)); var gain = Marketing.GetClientFlow(Q, Flagship.product.Niche); NotificationUtils.AddSimplePopup(Q, "You've released the product!", "Your flagship product " + Flagship.company.Name + " got " + Visuals.Positive("+" + Format.Minify(gain) + " users")); // + "\n\nYou can get way more if you change your positioning" }
public override string RenderValue() { var state = Markets.GetMarketState(Q, SelectedNiche); var speed = Markets.GetMarketGrowth(state); var flow = Marketing.GetClientFlow(Q, SelectedNiche); return(Visuals.Positive("+" + speed) + $"% / month"); //+ //$"\n\nMarket will get {Format.MinifyToInteger(flow)} new users this month"; }
public static long GetAbsoluteAnnualMarketGrowth(GameContext gameContext, GameEntity niche) { //var relativeGrowth = GetRelativeAnnualMarketGrowth(niche); var flow = Marketing.GetClientFlow(gameContext, niche.niche.NicheType); long clients = flow; // * relativeGrowth; var price = GetNicheCosts(niche).BaseIncome * 1.5f; return((long)(clients * price)); }
void RenderReleasePopup(PopupMessageRelease popup) { var product = Companies.Get(Q, popup.companyId); var gain = Marketing.GetClientFlow(Q, product.product.Niche); RenderUniversalPopup( "You've released the product!", Visuals.Positive($"You got new users and you can {C.RELEASE_BRAND_POWER_GAIN} Brand Power!") //Visuals.Positive($"You got new users and you can {C.RELEASE_BRAND_POWER_GAIN} Brand Power!") //+ "\n\nIncrease Brand power if you want to get more clients!" //"\n\nBrand grows if you form partnerships, make innovations and capture markets" , typeof(ClosePopupOK) ); }
public void Render() { NicheType nicheType = SelectedNiche; var niche = Markets.Get(Q, nicheType); var profile = niche.nicheBaseProfile.Profile; var nicheCosts = Markets.GetNicheCosts(Q, nicheType); var rating = Markets.GetMarketRating(niche); SetAmountOfStars.SetStars(rating); ChangeSpeed.text = "xxx days"; PotentialMarketSize.text = Format.Money(Markets.GetMarketPotential(niche)); PotentialAudienceSize.text = Format.MinifyToInteger(Markets.GetMarketAudiencePotential(niche)) + " users"; var risk = Markets.GetMarketDemandRisk(Q, nicheType); string riskText = Markets.ShowRiskStatus(risk).ToString(); RiskLabel.text = $"{risk}% ({riskText})"; var demand = Marketing.GetClientFlow(Q, nicheType); // * MarketingUtils.GetMarketingFinancingAudienceReachModifier(MarketingFinancing.High) * 30; Demand.text = Format.MinifyToInteger(demand) + " monthly"; var baseMaintenance = Markets.GetBaseProductMaintenance(Q, niche); //Maintenance.text = Format.MinifyMoney(baseMaintenance) + " / month"; Maintenance.text = $"{nicheCosts.AcquisitionCost.ToString("0.0")} / user"; // Format.MinifyMoney(baseMaintenance) + " / month"; IncomePerUser.text = $"{nicheCosts.BaseIncome.ToString("0.0")} / user"; // Format.MinifyMoney(baseMaintenance) + " / month"; //var teamMaintenance = NicheUtils.GetTeamMaintenanceCost(niche); //TeamMaintenance.text = Format.MoneyToInteger(teamMaintenance) + " / month"; TeamMaintenance.text = profile.AppComplexity.ToString(); long maxIncome = 0; if (BiggestIncome != null) { var players = Markets.GetProductsOnMarket(Q, niche.niche.NicheType); if (players.Count() == 0) { BiggestIncome.text = "???"; } else { maxIncome = players.Max(p => Economy.GetIncome(Q, p)); BiggestIncome.text = Format.Money(maxIncome) + " / month"; } } var start = Markets.GetStartCapital(niche, Q); if (StartCapital != null) { StartCapital.text = Format.Money(start); var showStartCapital = !Companies.HasCompanyOnMarket(MyCompany, nicheType, Q); StartCapital.gameObject.SetActive(showStartCapital); StartCapitalLabel.gameObject.SetActive(showStartCapital); } //var monthlyMaintenance = marketingMaintenance + teamMaintenance; //if (MonthlyMaintenance != null) // MonthlyMaintenance.text = Format.Money(monthlyMaintenance) + " / month"; //if (ROI != null) //{ // var roi = (maxIncome - monthlyMaintenance) * 100 * 12 / (monthlyMaintenance + 1); // ROI.text = $"{roi}% / yearly"; //} }