void OnEnable() { eventDatabase = Resources.Load <EventDatabase>("EventDatabase"); eventNames = eventDatabase.GetSortedEventNames().ToArray(); showConfig = false; showAdditionalInfo = false; senders = new List <SenderEventWrapper>(); receivers = new List <ReceiverEventWrapper>(); inspectedObject = new SerializedObject(target); FieldInfo[] objectMembers = target.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance); foreach (FieldInfo member in objectMembers) { if (member.FieldType == typeof(ReceiveEvent)) { // Conseguimos los eventos a los que se escucha SerializedProperty receivingEvents = inspectedObject.FindProperty(member.Name).FindPropertyRelative("receivingEvents"); List <int> receivingEventIndex = new List <int>(); List <SerializedProperty> receivingEventHolder = new List <SerializedProperty>(); for (int i = 0; i < receivingEvents.arraySize; i++) { receivingEventIndex.Add(FindNameIndex(receivingEvents.GetArrayElementAtIndex(i).intValue)); receivingEventHolder.Add(receivingEvents.GetArrayElementAtIndex(i)); } receivers.Add(new ReceiverEventWrapper(member.Name, receivingEventIndex, receivingEventHolder)); } else { if (member.FieldType == typeof(SendEvent)) { SerializedProperty senderEvent = inspectedObject.FindProperty(member.Name).FindPropertyRelative("senderEvent"); if (senderEvent.intValue == 0) { showConfig = true; } SenderEventWrapper ep = new SenderEventWrapper(member.Name, FindNameIndex(senderEvent.intValue), senderEvent); senders.Add(ep); } } } BaseMonoBehaviour baseMono = (BaseMonoBehaviour)target; object[] attributes = baseMono.GetType().GetCustomAttributes(true); foreach (object att in attributes) { if (att is ExtraInfoAttribute) { ExtraInfoAttribute b = (ExtraInfoAttribute)att; additionalInfo = b.Info; showAdditionalInfo = true; } } }
void OnEnable() { eventDatabase=Resources.Load<EventDatabase>("EventDatabase"); eventNames=eventDatabase.GetSortedEventNames().ToArray(); showConfig=false; showAdditionalInfo=false; senders=new List<SenderEventWrapper>(); receivers=new List<ReceiverEventWrapper>(); inspectedObject=new SerializedObject(target); FieldInfo[] objectMembers=target.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance); foreach(FieldInfo member in objectMembers) { if(member.FieldType==typeof(ReceiveEvent)) { // Conseguimos los eventos a los que se escucha SerializedProperty receivingEvents=inspectedObject.FindProperty(member.Name).FindPropertyRelative("receivingEvents"); List<int> receivingEventIndex=new List<int>(); List<SerializedProperty> receivingEventHolder=new List<SerializedProperty>(); for(int i=0;i<receivingEvents.arraySize;i++) { receivingEventIndex.Add(FindNameIndex(receivingEvents.GetArrayElementAtIndex(i).intValue)); receivingEventHolder.Add(receivingEvents.GetArrayElementAtIndex(i)); } receivers.Add(new ReceiverEventWrapper(member.Name,receivingEventIndex,receivingEventHolder)); } else { if(member.FieldType==typeof(SendEvent)) { SerializedProperty senderEvent=inspectedObject.FindProperty(member.Name).FindPropertyRelative("senderEvent"); if(senderEvent.intValue==0) { showConfig=true; } SenderEventWrapper ep=new SenderEventWrapper(member.Name,FindNameIndex(senderEvent.intValue),senderEvent); senders.Add(ep); } } } BaseMonoBehaviour baseMono=(BaseMonoBehaviour)target; object[] attributes=baseMono.GetType().GetCustomAttributes(true); foreach(object att in attributes) { if(att is ExtraInfoAttribute) { ExtraInfoAttribute b=(ExtraInfoAttribute)att; additionalInfo=b.Info; showAdditionalInfo=true; } } }