|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
10.02.2014, 17:38
|
#1
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Убрать размер массива в инспекторе
Как убрать это?
Нужно исключить возможность изменения размера массива в инспекторе
Вот что есть:
public enum CType : byte {Default, Lava, Steklo};
public class Level : MonoBehaviour {
[System.Serializable]
public class LevelCellType {
public CType type;
public string typename;
public float mass = 0.0f;
}
public LevelCellType[] levelCellTypes = CreateTypesArray();
//создаю массив размером равным количеству перечислений в CType,
//именования которого перевожу в строковой вид
//и присваиваю соответствующему элементу новоиспеченного массива.
//Вот поэтому больше или меньше он быть не должен
static private LevelCellType[] CreateTypesArray(){
string[] names = System.Enum.GetNames(typeof(CType));
LevelCellType[] arr = new LevelCellType[names.Length];
for (int i = 0; i < arr.Length; i++){
arr[i] = new LevelCellType();
arr[i].type = (CType)i;
arr[i].typename = names[i];
}
return arr;
}
}
[CustomPropertyDrawer(typeof(Level.LevelCellType))]
public class LevelCellTypeDrawer : PropertyDrawer {
const float min = 0;
const float max = 1;
public override void OnGUI (Rect position, SerializedProperty property, GUIContent label) {
int indent = EditorGUI.indentLevel;
EditorGUI.indentLevel = 0;
label.text = property.FindPropertyRelative ("typename").stringValue;
EditorGUI.Slider (
new Rect (position.x, position.y, position.width, position.height),
property.FindPropertyRelative ("mass"),
min, max, label);
EditorGUI.indentLevel = indent;
}
}
Правда я пока не понимаю как потом этот массив обновлять -__-
С инспектором я на ВЫ, поэтому буду благодарен за любые примечания, спасибо
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
10.02.2014, 17:57
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Убрать размер массива в инспекторе
Переместил тему в общие вопросы, т.к. это расширение редактора и довольно специфичное.
По теме вопроса: зачем вообще массив не изменяемый по размеру?
|
(Offline)
|
|
10.02.2014, 18:10
|
#3
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Убрать размер массива в инспекторе
Здравствуйте)
Нужно просто вывести enum-перечисление, подскажите другой способ)
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
10.02.2014, 18:16
|
#4
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Убрать размер массива в инспекторе
Извините за беспокойство, надуманная проблема решилась корректировкой логики приложения, тему в утиль
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
10.02.2014, 18:26
|
#5
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Убрать размер массива в инспекторе
ааа возник вопрос: можно отследить евент при изменении значения в инспекторе?
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
10.02.2014, 19:00
|
#6
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Убрать размер массива в инспекторе
ну все, теперь точно тему в утиль, еще раз Извините
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
12.02.2014, 16:11
|
#7
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Убрать размер массива в инспекторе
[HideInInspector]
public LevelCellType[] levelCellTypes = CreateTypesArray();
или изменить модификатор доступа на internal
__________________
Предел в твоей голове.
|
(Offline)
|
|
12.02.2014, 20:05
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Убрать размер массива в инспекторе
Это уберет весь массив вероятно...
|
(Offline)
|
|
13.02.2014, 13:25
|
#9
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Убрать размер массива в инспекторе
Сообщение от pax
Это уберет весь массив вероятно...
|
просто скрыть доступ к значению через Inspector
__________________
Предел в твоей голове.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:17.
|