public void ManageEditor(MovementAIEditor editor) { AIType aiType = (AIType)editor.aiType_Prop.enumValueIndex; AIAlgorithm aiAlgorithm = (AIAlgorithm)editor.aiAlgorithm_Prop.enumValueIndex; switch (aiAlgorithm) { case AIAlgorithm.KinematicSeek: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); break; case AIAlgorithm.KinematicFlee: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); break; case AIAlgorithm.KinematicArrive: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); EditorGUILayout.PropertyField(editor.satisfactionRadius_Prop, new GUIContent("Satisfaction radius")); EditorGUILayout.PropertyField(editor.timeToTarget_Prop, new GUIContent("Time to target")); break; case AIAlgorithm.KinematicWander: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.maxRotation_Prop, new GUIContent("Max rotation")); break; } }
public void ManageEditor(MovementAIEditor editor) { AIType aiType = (AIType)editor.aiType_Prop.enumValueIndex; AIAlgorithm aiAlgorithm = (AIAlgorithm)editor.aiAlgorithm_Prop.enumValueIndex; switch (aiAlgorithm) { case AIAlgorithm.DynamicSeek: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); EditorGUILayout.PropertyField(editor.maxAcceleration_Prop, new GUIContent("Max acceleration")); break; case AIAlgorithm.DynamicFlee: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); EditorGUILayout.PropertyField(editor.maxAcceleration_Prop, new GUIContent("Max acceleration")); break; case AIAlgorithm.DynamicArrive: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); EditorGUILayout.PropertyField(editor.maxAcceleration_Prop, new GUIContent("Max acceleration")); EditorGUILayout.PropertyField(editor.targetRadius_Prop, new GUIContent("Target radius")); EditorGUILayout.PropertyField(editor.slowRadius_Prop, new GUIContent("Slow radius")); EditorGUILayout.PropertyField(editor.timeToTarget_Prop, new GUIContent("Time to target")); break; case AIAlgorithm.DynamicAlign: EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); EditorGUILayout.PropertyField(editor.maxRotation_Prop, new GUIContent("Max rotation")); EditorGUILayout.PropertyField(editor.maxAngularAcceleration_Prop, new GUIContent("Max angular acceleration")); EditorGUILayout.PropertyField(editor.targetRadius_Prop, new GUIContent("Target radius")); EditorGUILayout.PropertyField(editor.slowRadius_Prop, new GUIContent("Slow radius")); EditorGUILayout.PropertyField(editor.timeToTarget_Prop, new GUIContent("Time to target")); break; case AIAlgorithm.DynamicVelocityMatch: EditorGUILayout.PropertyField(editor.maxSpeed_Prop, new GUIContent("Max speed")); EditorGUILayout.PropertyField(editor.target_Prop, new GUIContent("Target")); EditorGUILayout.PropertyField(editor.maxAcceleration_Prop, new GUIContent("Max acceleration")); EditorGUILayout.PropertyField(editor.timeToTarget_Prop, new GUIContent("Time to target")); break; } }