/// <summary> /// If an entity type was found we can determine what type of appearance we are. /// </summary> private void DetermineAppearanceType() { // Determine the appearance type if (kind != null) { // Determine what type of appearance to use. switch (( EntityKind )Kind) { case EntityKind.CulturalFeature: selectedAppearanceType = AppearanceTypes.Cultural; break; case EntityKind.Environmental: selectedAppearanceType = AppearanceTypes.Environmental; break; case EntityKind.Lifeform: selectedAppearanceType = AppearanceTypes.Lifeform; break; case EntityKind.Munition: if (Category == 1) // Guided { selectedAppearanceType = AppearanceTypes.GuidedMunition; } break; case EntityKind.Platform: switch (( EntityDomain )Domain) { case EntityDomain.Air: selectedAppearanceType = AppearanceTypes.Air; break; case EntityDomain.Land: selectedAppearanceType = AppearanceTypes.Land; break; case EntityDomain.Subsurface: selectedAppearanceType = AppearanceTypes.Subsurface; break; case EntityDomain.Surface: selectedAppearanceType = AppearanceTypes.Surface; break; case EntityDomain.Space: selectedAppearanceType = AppearanceTypes.Space; break; } break; case EntityKind.SensorEmitter: selectedAppearanceType = AppearanceTypes.Sensor; break; } } }
/// <summary> /// Draw property /// </summary> /// <param name="position"></param> /// <param name="property"></param> /// <param name="label"></param> public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { label = GetLabel(label); Init(property); EditorGUI.BeginProperty(position, label, property); position.height = EditorGUIUtility.singleLineHeight; // Label property.isExpanded = EditorGUI.Foldout(position, property.isExpanded, label); position.y += EditorGUIUtility.singleLineHeight; if (property.isExpanded) { EditorGUI.indentLevel++; EditorGUI.BeginChangeCheck(); if (EditorSettings.AdvancedMode) { tmpAppearance.Appearance = EditorGUI.IntField(position, "Appearance Field", tmpAppearance.Appearance); position.y += EditorGUIUtility.singleLineHeight; } if (property.isExpanded) { if (selectedAppearanceType == AppearanceTypes.Unknown || EditorSettings.AdvancedMode) { selectedAppearanceType = ( AppearanceTypes )EditorGUI.EnumPopup(position, "Appearance Type", selectedAppearanceType); position.y += EditorGUIUtility.singleLineHeight; } switch (selectedAppearanceType) { case AppearanceTypes.Air: DrawAir(position); break; case AppearanceTypes.Cultural: DrawCultural(position); break; case AppearanceTypes.Environmental: DrawEnvironmentals(position); break; case AppearanceTypes.GuidedMunition: DrawGuidedMunitions(position); break; case AppearanceTypes.Land: DrawLand(position); break; case AppearanceTypes.Lifeform: DrawLifeform(position); break; case AppearanceTypes.Sensor: DrawSensorEmitter(position); break; case AppearanceTypes.Space: DrawSpace(position); break; case AppearanceTypes.Subsurface: DrawSubSurface(position); break; case AppearanceTypes.Surface: DrawSurface(position); break; } } if (EditorGUI.EndChangeCheck()) { appearance.intValue = tmpAppearance.Appearance; } } EditorGUI.EndProperty(); }