Суббота, 30 Ноября 2024, 13:51

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
HallowedДата: Воскресенье, 17 Декабря 2017, 11:50 | Сообщение # 1 | Тема: программно изменить значение переменной
был не раз
Сейчас нет на сайте
Цитата Vostrugin ()
скорее всего тебе это не нужно

на сцене много пар кнопка-поле_для_ввода
при нажатии на кнопку надо чтобы изменялась соответствующая переменная, хранящаяся в объекте (это синглтон в данном случае, но мог быть и просто объект, хранящий все параметры) название этой переменной я пишу в инспекторе

то есть надо было обратится к свойству объекта, чье имя создается динамически

Цитата drcrack ()
Тебе нужен SerializableDictionary, который будет и в инспекторе более-менее нормально отображаться, и в коде можно будет работать без рефлексии и прочих костылей

можете немного пояснить - как этим пользоваться, а то там даже объявления MonoBehaviour нет и на объект в сцене ни добавить, а три строчки в Description разобраться не помогают

пока буду делать через рефлексию

Код
public void ClickUp(string par_block)
        {
        FieldInfo field = typeof(GameManager).GetField(par_block);
        field.SetValue(GameManager.Instance, ((int)field.GetValue(GameManager.Instance) + 1));
        }

Добавлено (17 декабря 2017, 11:50)
---------------------------------------------
картинка не добавилась
http://www.screencapture.ru/file/21f6dCF9

HallowedДата: Суббота, 16 Декабря 2017, 18:51 | Сообщение # 2 | Тема: программно изменить значение переменной
был не раз
Сейчас нет на сайте
здравствуйте
необходимо изменить значение переменной, получая её имя из инспектора

хочется вдохнуть жизнь в следующую конструкцию:

Код
public void ClickUp(string par_block)
    {
        GameManager.Instance.par_block = GameManager.Instance.par_block + 1;
        // вопрос в том - как поменять значение переменной, принимаемой в par_block
    }


par_block - название переменной в инспекторе в свойстве события On Click () в инспекторе, пишу в неё, например: Priznak_a или Priznak_b, то есть:
в par_block подставляю название переменной, к которой работающее обращение из скриптов выглядит следующим образом:
GameManager.Instance.Priznak_a=.... или GameManager.Instance.Priznak_b=...

сейчас решаю это отвратительным костылём :((

Код
  public void ClickUp(string par_block)
    {
        switch (par_block)
        {
            case "Priznak_a":
                {
                     GameManager.Instance.Priznak_a = GameManager.Instance.Priznak_a + 1;                    
                }
                break;
        }
    }


помогите пожалуйста написать правильно
HallowedДата: Пятница, 15 Декабря 2017, 15:25 | Сообщение # 3 | Тема: программно изменить isOn у Toggle
был не раз
Сейчас нет на сайте
большое благодарю :)

когда так пробовал про скобки перед .isOn забывал :D
HallowedДата: Пятница, 15 Декабря 2017, 11:30 | Сообщение # 4 | Тема: программно изменить isOn у Toggle
был не раз
Сейчас нет на сайте
здравствуйте
необходимо программно изменить свойство isOn у компонента Toggle
делаю так:
Код
ameObject.Find("Toggle1").GetComponent(UnityEngine.UI.Toggle).isOn = true;


почему пишет что неправильно - не понимаю

подскажите пожалуйста - что в синтаксисе не так
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг