private void BuildFromInfo() { outputPorts.Clear(); if (eventType == null) { return; } Info = ReflectedInfo.For(eventType); foreach (var field in Info.reflectedFields) { outputPorts.Add(ValueOutput(field.Value.FieldType, field.Value.Name)); } foreach (var property in Info.reflectedProperties) { outputPorts.Add(ValueOutput(property.Value.PropertyType, property.Value.Name)); } }
private void BuildFromInfo() { inputPorts.Clear(); if (eventType == null) { return; } Info = ReflectedInfo.For(eventType); foreach (var field in Info.reflectedFields) { if (field.Value.FieldType == typeof(bool)) { inputPorts.Add(ValueInput <bool>(field.Value.Name, false)); } else if (field.Value.FieldType == typeof(int)) { inputPorts.Add(ValueInput <int>(field.Value.Name, 0)); } else if (field.Value.FieldType == typeof(float)) { inputPorts.Add(ValueInput <float>(field.Value.Name, 0.0f)); } else if (field.Value.FieldType == typeof(string)) { inputPorts.Add(ValueInput <string>(field.Value.Name, "")); } else if (field.Value.FieldType == typeof(GameObject)) { inputPorts.Add(ValueInput <GameObject>(field.Value.Name, null).NullMeansSelf()); } else { inputPorts.Add(ValueInput(field.Value.FieldType, field.Value.Name)); } } foreach (var property in Info.reflectedProperties) { if (property.Value.PropertyType == typeof(bool)) { inputPorts.Add(ValueInput <bool>(property.Value.Name, false)); } else if (property.Value.PropertyType == typeof(int)) { inputPorts.Add(ValueInput <int>(property.Value.Name, 0)); } else if (property.Value.PropertyType == typeof(float)) { inputPorts.Add(ValueInput <float>(property.Value.Name, 0.0f)); } else if (property.Value.PropertyType == typeof(string)) { inputPorts.Add(ValueInput <string>(property.Value.Name, "")); } else if (property.Value.PropertyType == typeof(GameObject)) { inputPorts.Add(ValueInput <GameObject>(property.Value.Name, null).NullMeansSelf()); } else { inputPorts.Add(ValueInput(property.Value.PropertyType, property.Value.Name)); } } }