public override string RenderValue()
    {
        var product = SelectedCompany;

        var cost = Markets.GetClientAcquisitionCost(product.product.Niche, Q) * 1000;

        return(cost.ToString("0.0") + "$");
    }
예제 #2
0
    public override string RenderValue()
    {
        var product = SelectedCompany;

        var ads    = Markets.GetClientAcquisitionCost(product.product.Niche, Q);
        var income = Economy.GetUnitIncome(Q, product, 0);

        var period = ads / income;

        return(period.ToString("0.00") + " months");
    }
예제 #3
0
    public override string RenderHint()
    {
        var product = SelectedCompany;

        var ads    = Markets.GetClientAcquisitionCost(product.product.Niche, Q);
        var income = Economy.GetUnitIncome(Q, product, 0);

        var text = "=\nNew client marketing cost: " + ads;

        text += "\n/\nIncome per user: " + income;

        return(text);
    }
예제 #4
0
    public override string RenderValue()
    {
        var product = SelectedCompany;

        var ads    = Markets.GetClientAcquisitionCost(product.product.Niche, Q);
        var income = Economy.GetUnitIncome(Q, product, 0);

        var change = (income - ads) * 1000;

        Colorize(change >= 0 ? Colors.COLOR_POSITIVE : Colors.COLOR_NEGATIVE);

        return(change.ToString("0.0") + "$");
    }
예제 #5
0
    public override string RenderValue()
    {
        var product = SelectedCompany;

        var ads    = Markets.GetClientAcquisitionCost(product.product.Niche, Q) * 1000;
        var income = Economy.GetUnitIncome(Q, product, 0) * 1000;

        var change = income - ads;

        if (change >= 0)
        {
            return("Unit economy is " + Visuals.Positive("OK"));
        }
        else
        {
            return("Unit economy is " + Visuals.Negative("Bad"));
        }
    }
예제 #6
0
    public override string RenderValue()
    {
        var product = SelectedCompany;

        var ads    = Markets.GetClientAcquisitionCost(product.product.Niche, Q) * 1000;
        var income = Economy.GetBaseSegmentIncome(Q, product, 0) * 1000;

        var change = income - ads;

        if (change >= 0)
        {
            return("Get as more clients as you can!");
        }
        else
        {
            return("Add more features to become profitable!");
        }
    }
예제 #7
0
    public override void ViewRender()
    {
        base.ViewRender();

        var product = SelectedCompany;

        var income = Economy.GetUnitIncome(Q, product, 0);

        var ads = Markets.GetClientAcquisitionCost(product.product.Niche, Q);

        var payback  = ads / income;
        var lifetime = Marketing.GetLifeTime(Q, product.company.Id);

        var paybackDescription = "=\nMarketing cost: " + ads.ToString("0.00");

        paybackDescription += "\n/\nMonthly income per user: "******"0.00");

        Payback.text = payback.ToString("0.00") + " months";
        Payback.GetComponent <Hint>().SetHint(paybackDescription);

        var ROI = (int)(lifetime * 100 / payback);

        if (ROI > 100)
        {
            EconomyDescription.text = "ROI: " + ROI + "%";
            UnitEconomy.text        = "Unit economy is " + Visuals.Positive("GOOD");
        }
        else
        {
            EconomyDescription.text = "lifetime < payback \nImprove your product!";
            UnitEconomy.text        = "Unit economy is " + Visuals.Negative("BAD");
        }


        Lifetime.text = lifetime.ToString("0.00") + " months";

        var niche = Markets.GetNiche(Q, product);

        MonetisationType.text = Enums.GetFormattedMonetisationType(niche);
    }