#c# #unity3d
#c# #unity3d
Вопрос:
Я написал следующий скрипт на Unity C #.
Test.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
public bool showParams = true;
public int test1 = 100;
public string test = "";
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
Я хочу изменить, отображаются ли другие параметры в инспекторе, путем включения / выключения переменной showParams.
Как показано на рисунке ниже, когда включен showParams, все переменные являются общедоступными.
Как показано на рисунке ниже, я хочу запретить отображение всех переменных, когда showParams выключен.
Я хочу изменить, отображаются ли другие параметры в инспекторе, путем включения / выключения переменной showParams.
Как показано на рисунке ниже, когда включен showParams, все переменные являются общедоступными.
Как показано на рисунке ниже, я хочу запретить отображение всех переменных, когда showParams выключен.
Возможно ли это с Unity C #?
Комментарии:
Ответ №1:
Вам нужно будет написать пользовательский редактор для вашего класса, чтобы иметь возможность делать это. Вы не можете изменить модификаторы доступа (public и private) членов вашего класса после компиляции кода, что должно произойти, чтобы они отображались в инспекторе.
Смотрите документы о том, как написать пользовательский редактор.
Ответ №2:
Как указывали другие, эта опция не встроена в Unity. Вам придется написать свой собственный пользовательский инспектор или панель свойств.
К счастью, многие люди сталкивались с этой же проблемой до вас, поэтому в Интернете есть несколько расширений редактора Unity, которые делают это. Вы можете поискать в Google или Github «unity conditional hide», чтобы найти их. Тот, который я лично счел полезным,https://github.com/krishx007/ConditionalHideAttribute_Unity
Комментарии:
1. Я абсолютно рекомендую Odin для этого!