public static List <ProductPositioning> GetStandardPositionings(NicheType nicheType)
        {
            // Debug.Log("GetStandardPositionings");
            var audiences = Marketing.GetAudienceInfos();

            var nicheName = Enums.GetFormattedNicheName(nicheType);

            var list = new List <ProductPositioning>();

            var adore = 10;
            var hate  = -20;
            var mass  = 3;

            var like = 7;

            int Kids_ID   = 0;
            int Adults_ID = 1;
            int Family_ID = 2;
            int Old_ID    = 3;

            // focus each audience specifically
            foreach (var a in audiences)
            {
                var index = a.ID;

                var loyalties = audiences.Select(a1 => hate).ToList();

                loyalties[index] = adore;

                list.Add(new ProductPositioning
                {
                    ID = list.Count,

                    name          = nicheName + " for " + a.Name,
                    isCompetitive = false,
                    Loyalties     = loyalties,

                    marketShare   = 100,
                    priceModifier = 1f
                });
            }

            AddPositioning(ref list, "Cool " + nicheName, Kids_ID);
            AddPositioning(ref list, "Trendy " + nicheName, Adults_ID, Kids_ID);
            AddPositioning(ref list, "Corporate " + nicheName, Adults_ID, Family_ID);

            // // focus multiple audiences
            // var randomPositionings = Random.Range(6, 10);
            //
            // //var goodness = Random.Range(hate, adore);
            // for (var i = 0; i < randomPositionings; i++)
            // {
            //     int points = audiences.Count * mass;
            //
            //     List<int> loyalties = new List<int> { };
            //
            //     foreach (var s in audiences)
            //     {
            //         var value = Random.Range(-1, like);
            //
            //         var l = Mathf.Clamp(value, hate, Mathf.Min(points, like));
            //
            //         if (l >= 0)
            //             points -= l;
            //         else
            //             l = hate;
            //
            //         loyalties.Add(l);
            //     }
            //
            //     list.Add(new ProductPositioning
            //     {
            //         ID = list.Count,
            //         name = "RANDOM " + nicheName + " " + i,
            //         Loyalties = loyalties.ToList(),
            //         //Loyalties = audiences.Select(a1 => Random.Range(-10, 4)).ToList(),
            //
            //         isCompetitive = false,
            //         marketShare = 100,
            //         priceModifier = 1f,
            //     });
            // }
            //
            // var maxPositioning = list.Count;
            //
            // // remove positionings for noone
            // list.RemoveAll(p => p.Loyalties.All(l => l < 0));
            //
            // // better than global positioning?
            // list.RemoveAll(p => p.Loyalties.All(l => l >= mass));
            //
            // // better than strictly focused positioning
            // list.RemoveAll(p => p.Loyalties.Count(l => l >= adore) >= 2);
            //
            //
            // take ALL
            list.Add(new ProductPositioning
            {
                ID        = list.Count,
                name      = nicheName + " for EVERYONE",
                Loyalties = audiences.Select(a => mass).ToList(),

                isCompetitive = false,
                marketShare   = 100,
                priceModifier = 1f,
            });

            // foreach (ProductPositioning positioning in list)
            // {
            //     Debug.Log($"Added positioning in niche {nicheName}: " + positioning.name + " #" + positioning.ID);
            // }

            // Debug.Log($"Created {list.Count} positionings");

            return(list);
        }