Пример #1
0
    void Render(long maxClients)
    {
        var company = Companies.Get(Q, companyId);

        var clients     = Marketing.GetUsers(company);
        var growthBonus = Marketing.GetAudienceGrowthBonus(company);
        var newClients  = growthBonus.Sum();

        var marketRequirements = Products.GetMarketRequirements(company, Q);
        var level       = Products.GetProductLevel(company);
        var levelStatus = Products.GetConceptStatus(company, Q);

        Clients.text    = Format.Minify(clients) + " users"; //  +
        NewClients.text = Format.Minify(newClients);

        if (Growth != null)
        {
            var cli = Format.Minify(clients);
            var clientChangeColor = Visuals.GetColorFromString(newClients > 0 ? Colors.COLOR_WHITE : Colors.COLOR_NEGATIVE);

            var newCli = Format.Sign(newClients, true);

            Growth.text = $"{Visuals.Colorize(newCli, clientChangeColor)} users (#1)"; // {cli} users
            //Growth.color = clientChangeColor; // Visuals.GetColorPositiveOrNegative(newClients);
            growthBonus.SortByModule();
            Growth.GetComponent <Hint>().SetHint("Weekly growth\n\n" + growthBonus.MinifyValues().ToString());
        }

        WeeklyGrowth.text = $"Growth (#1)";

        var brandChange      = Marketing.GetBrandChange(company, Q).Sum();
        var brandChangeValue = Format.Sign(brandChange);

        Brand.text = (int)company.branding.BrandPower + $" {Visuals.DescribeValueWithText(brandChange, brandChangeValue, brandChangeValue, "")}";

        // name
        var isPlayerRelated = Companies.IsDirectlyRelatedToPlayer(Q, company);
        var nameColor       = isPlayerRelated ? Colors.COLOR_COMPANY_WHERE_I_AM_CEO : Colors.COLOR_COMPANY_WHERE_I_AM_NOT_CEO;

        //Name.text = $"{company.company.Name} ({Format.Minify(clients)} users)"; // + $" - <b>{level}LVL</b>";
        Name.text  = $"{company.company.Name}"; // + $" - <b>{level}LVL</b>";
        Name.color = Visuals.GetColorFromString(nameColor);

        if (ProductLevel != null)
        {
            if (CurrentScreen == ScreenMode.NicheScreen)
            {
                ProductLevel.text = $"{level}LVL";
            }
            else
            {
                ProductLevel.text = $"{level}LVL / {marketRequirements}LVL";
            }
        }

        if (Innovations != null)
        {
            Innovations.text = Products.GetInnovationChance(company, Q) + "%";
        }

        // link to project
        LinkToProjectView.CompanyId = company.company.Id;

        var brand = (int)company.branding.BrandPower;

        ClientChange.SetHint($"{company.company.Name} will get {Format.Minify(newClients)} clients next week, due to their brand power ({brand})");


        RenderConceptProgress(clients, maxClients, company);
    }