示例#1
0
    // Аналогично Update
    public override void OnInspectorGUI()
    {
        // Рисумем UI заданный по умолчанию
        DrawDefaultInspector();

        // Обновляем, при изменении типа
        if (lastType != _target.type)
        {
            // Обновляем вид
            _target.UpdateView();
            // Сбрасываем параметры на те, что сохранены в массиве
            var parametrs = _target.data.Find(x => x.type == _target.type).parametrs;
            _target.parametrs = new MyComponent.Parametrs(parametrs);
            // переназначаем последний тип
            lastType = _target.type;
        }

        // Изменяем массив при нажатии на кнопку
        if (GUILayout.Button("Применить"))
        {
            ApplyChanges();
        }

        GUI.backgroundColor = new Color(0.5f, 0.5f, 0.5f, 1);
        if (GUILayout.Button("Сбросить"))
        {
            ResetChanges();
        }

        // Обновление вида, без затрагивания массива
        _target.UpdateView(_target.parametrs.color, _target.parametrs.count);
    }
示例#2
0
 void OnEnable()
 {
     _target  = (MyComponent)target; // сохраняем целевой объект как MyComponent
     lastType = _target.type;        // сохраняем текущий тип
     _target.Init();
 }