Как разрешить моему клиенту взаимодействовать со списками моего кода без программного обеспечения Unity? - PullRequest
0 голосов
/ 20 сентября 2019

Я работаю над программой подарков состояния. По крайней мере, есть два разных подарка состояния с перечнем самих себя.Клиент также хочет установить процент подарка фортуны самостоятельно.Я не знаю, как позволить им это сделать.Как я могу позволить им отредактировать список (добавить больше GValue, отредактировать GWeight) и создать другой список?

public class GiftValue
{
    public int GValue;
    public int GWeight;

    public GiftValue(int gvalue, int gweight)
    {
        GValue = gvalue;
        GWeight = gweight;
    }
}

public List<GiftValue> GiftwithWeight = new List<GiftValue>
{
    new GiftValue(1,        25),
    new GiftValue(2,        25),
    new GiftValue(3,        25),
    new GiftValue(5,        20),
    new GiftValue(4,        5),
};

private readonly List<int> _GiftList = new List<int>();

private void Start()
{

    foreach (GiftValue kvp in GiftwithWeight)
    {

        for (int i = 0; i < kvp.GWeight; i++)
        {
            _GiftList.Add(kvp.GValue);
        }
    }

}
public int GetRandomNumber()
{
    int randomIndex = Random.Range(0, _GiftList.Count);
    randomnumber=randomIndex;
    return _GiftList[randomIndex];
}

1 Ответ

1 голос
/ 20 сентября 2019

Я бы сериализировал эти списки как JSON и загружал их во время выполнения.
Ваш клиент может заменить этот файл или настроить значения до того, как он запустит приложение.

Код будет выглядеть такэто.

[Serializable]
public struct GiftValue
{
    public int Value;
    public int Weight;
}

[Serializable]
public class GiftConfig
{
    public List<GiftValue> Gifts;
}

public void LoadConfig(string filePath) {
    string fileContent = File.ReadAllText(filePath);
    var giftConfig = JsonUtility.FromJson<GiftConfig>(fileContent);
}

JSON будет выглядеть так:

{ 
    "Gifts":[ 
        { 
            "Value":1,
            "Weight":25
        },
        { 
            "Value":2,
            "Weight":25
        }
    ]
}

Редактировать: добавлен код и json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...