void ShakeByInput(Camera_ShakeController controller, SerializedObject serializedObject) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Input", GUILayout.Width(EditorGUIUtility.labelWidth)); controller.inputKey = (KeyCode)EditorGUILayout.EnumPopup(controller.inputKey); EditorGUILayout.EndHorizontal(); }
void ShakeByCollision(Camera_ShakeController controller, SerializedObject serializedObject) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Collision", GUILayout.Width(EditorGUIUtility.labelWidth)); controller.collisionType = (PhysicInteractionType)EditorGUILayout.EnumPopup(controller.collisionType); EditorGUILayout.EndHorizontal(); }
void ShowShakeConditionByType(Camera_ShakeController controller, SerializedObject serializedObject) { SpawnByType conditionType = controller.conditionType; float labelWidth = EditorGUIUtility.labelWidth - 0.79f; switch (conditionType) { case SpawnByType.Input: ShakeByInput(controller, serializedObject); break; case SpawnByType.Trigger: ShakeByTrigger(controller, serializedObject); break; case SpawnByType.Collision: ShakeByCollision(controller, serializedObject); break; case SpawnByType.Other: ShakeByOther(controller, serializedObject); break; } }
void ShakeByOther(Camera_ShakeController controller, SerializedObject serializedObject) { controller.otherTrigger = (Camera_ShakeCondition)EditorGUILayout.ObjectField("Other", controller.otherTrigger, typeof(Camera_ShakeCondition), false); }