Здесь я создаю список констант типа TargetType (enum) и лист типа этого списка ;
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Mission : MonoBehaviour {
public int numberCount;
public List<int> numberList = new List<int>();
public enum TargetType{
ActivateObject = 0,
DisactvateObject = 1,
EnterToZone = 2,
ExitFromZone = 3,
KillTheMob = 4,
KillTheGroupOfMob = 5,
GetObject = 6,
GetObjectInBag = 7,
TranslateObjectToZone = 8,
DestroyObject = 9,
}
public List<TargetType> targetTypeList = new List<TargetType>();
///////////
///////////
using System.Collections;
using System.Collections.Generic;
public class Mission : MonoBehaviour {
public int numberCount;
public List<int> numberList = new List<int>();
public enum TargetType{
ActivateObject = 0,
DisactvateObject = 1,
EnterToZone = 2,
ExitFromZone = 3,
KillTheMob = 4,
KillTheGroupOfMob = 5,
GetObject = 6,
GetObjectInBag = 7,
TranslateObjectToZone = 8,
DestroyObject = 9,
}
public List<TargetType> targetTypeList = new List<TargetType>();
///////////
///////////
А тут мне надо отрисовать этот лист, то есть для каждого элемента свой Enum, что можно было выбрать для каждого элемента свою константу
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
[CustomEditor(typeof(Mission))]
[CanEditMultipleObjects]
public class MissionsEditor : Editor {
Mission missionSubject;
int i;
void OnEnable (){
missionSubject = target as Mission;
//missionSubject.currentMission = 0;
}
public override void OnInspectorGUI(){
serializedObject.Update ();
if(GUILayout.Button("Add Mission") {
missionSubject.numberCount++;
missionSubject.numberList.Add(missionSubject.numberCount);
missionSubject.targetTypeList.Add(Mission.TargetType.ActivateObject); // Если добавлять NULL, ругается тоже.
}
for (i=0; i < missionSubject.numberList.Count; i++){
missionSubject.targetTypeList[i] = EditorGUILayout.EnumPopup("Target Type:", missionSubject.targetTypeList[i], typeof(Mission.TargetType)) as Mission.TargetType; /// ЗДЕСЬ ОРЕТ.
}
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
[CustomEditor(typeof(Mission))]
[CanEditMultipleObjects]
public class MissionsEditor : Editor {
Mission missionSubject;
int i;
void OnEnable (){
missionSubject = target as Mission;
//missionSubject.currentMission = 0;
}
public override void OnInspectorGUI(){
serializedObject.Update ();
if(GUILayout.Button("Add Mission") {
missionSubject.numberCount++;
missionSubject.numberList.Add(missionSubject.numberCount);
missionSubject.targetTypeList.Add(Mission.TargetType.ActivateObject); // Если добавлять NULL, ругается тоже.
}
for (i=0; i < missionSubject.numberList.Count; i++){
missionSubject.targetTypeList[i] = EditorGUILayout.EnumPopup("Target Type:", missionSubject.targetTypeList[i], typeof(Mission.TargetType)) as Mission.TargetType; /// ЗДЕСЬ ОРЕТ.
}
Мне нужно пополнять массив постепенно (это я итак делаю с помощью кнопочки), и отрисосывать EnumPopup для каждого элемента из этого массива , что я не так делаю?