Beispiel #1
0
    public void GenerateAllContraband(int level)
    {
        if (level < 1)
        {
            AllContraband = new List <Contraband>();
        }
        IllegalContraband = new List <Contraband>();
        ToExinia          = new List <Contraband>();
        ToYgradnia        = new List <Contraband>();
        ToZeliland        = new List <Contraband>();
        ToWouffia         = new List <Contraband>();

        int maxCapacityTemp = 7 + Mathf.FloorToInt(level * FullListLevelModifier);
        int roof            = maxCapacityTemp - AllContraband.Count;

        for (int i = 0; i < roof; i++)
        {
            if (AllContraband.Count == (int)System.Enum.GetValues(typeof(Contraband)).Length)
            {
                break;
            }

            Contraband toAdd = (Contraband)Random.Range
                                   (0, (int)System.Enum.GetValues(typeof(Contraband)).Length);

            if (AllContraband.Count + 1 < (int)System.Enum.GetValues(typeof(Contraband)).Length)
            {
                while (AllContraband.Contains(toAdd))
                {
                    toAdd = (Contraband)Random.Range(0, (int)System.Enum.GetValues(typeof(Contraband)).Length);
                }
            }
            else if (AllContraband.Count + 1 == (int)System.Enum.GetValues(typeof(Contraband)).Length)
            {
                for (int j = 0; j < (int)System.Enum.GetValues(typeof(Contraband)).Length; j++)
                {
                    if (!AllContraband.Contains((Contraband)j))
                    {
                        AllContraband.Add((Contraband)j);
                    }
                }
            }

            if (AllContraband.Count != (int)System.Enum.GetValues(typeof(Contraband)).Length)
            {
                AllContraband.Add(toAdd);
            }
        }

        AllContraband.Shuffle();

        maxCapacityTemp = 1 + Mathf.FloorToInt(level * IllealListLevelModifier);
        roof            = (maxCapacityTemp < Mathf.FloorToInt(0.16f * AllContraband.Count))
            ? maxCapacityTemp : Mathf.FloorToInt(0.16f * AllContraband.Count);

        for (int i = 0; i < roof; i++)
        {
            IllegalContraband.Add(AllContraband[i]);
        }

        int floor = roof;

        maxCapacityTemp = 1 + Mathf.FloorToInt(level * ExiniaListLevelModifier);
        roof            = (maxCapacityTemp < Mathf.FloorToInt(0.16f * AllContraband.Count)
            ? maxCapacityTemp : Mathf.FloorToInt(0.16f * AllContraband.Count));

        for (int i = floor; i < floor + roof; i++)
        {
            ToExinia.Add(AllContraband[i]);
        }

        floor          += roof;
        maxCapacityTemp = 1 + Mathf.FloorToInt(level * YgrandiaListLevelModifier);
        roof            = (maxCapacityTemp < Mathf.FloorToInt(0.16f * AllContraband.Count))
            ? maxCapacityTemp : Mathf.FloorToInt(0.16f * AllContraband.Count);

        for (int i = floor; i < floor + roof; i++)
        {
            ToYgradnia.Add(AllContraband[i]);
        }

        floor          += roof;
        maxCapacityTemp = 1 + Mathf.FloorToInt(level * ZelilandListLevelModifier);
        roof            = (maxCapacityTemp < Mathf.FloorToInt(0.16f * AllContraband.Count))
            ? maxCapacityTemp : Mathf.FloorToInt(0.16f * AllContraband.Count);

        for (int i = floor; i < floor + roof; i++)
        {
            ToZeliland.Add(AllContraband[i]);
        }

        floor          += roof;
        maxCapacityTemp = 1 + Mathf.FloorToInt(level * WouffiaListLevelModifier);
        roof            = (maxCapacityTemp < Mathf.FloorToInt(0.16f * AllContraband.Count))
            ? maxCapacityTemp : Mathf.FloorToInt(0.16f * AllContraband.Count);

        for (int i = floor; i < floor + roof; i++)
        {
            ToWouffia.Add(AllContraband[i]);
        }

        UiZonesManager.Instance.RefreshZones();
    }
Beispiel #2
0
    public Sprite SetUpSprite(Contraband cargo)
    {
        int index = (int)cargo;

        return(allIcons[index]);
    }