void SpawnTypeInput(Particle_SpawnController controller, SerializedObject serializedObject) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Input", GUILayout.Width(EditorGUIUtility.labelWidth)); controller.inputKey = (KeyCode)EditorGUILayout.EnumPopup(controller.inputKey); EditorGUILayout.EndHorizontal(); }
void SpawnTypeCollision(Particle_SpawnController controller, SerializedObject serializedObject) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Collision", GUILayout.Width(EditorGUIUtility.labelWidth)); controller.collisionType = (PhysicInteractionType)EditorGUILayout.EnumPopup(controller.collisionType); EditorGUILayout.EndHorizontal(); }
void ShowSpawnByTypeEvent(Particle_SpawnController controller, SerializedObject serializedObject) { SpawnByType spawnByType = controller.spawnByType; float labelWidth = EditorGUIUtility.labelWidth - 0.79f; switch (spawnByType) { case SpawnByType.Input: SpawnTypeInput(controller, serializedObject); break; case SpawnByType.Trigger: SpawnTypeTrigger(controller, serializedObject); break; case SpawnByType.Collision: SpawnTypeCollision(controller, serializedObject); break; case SpawnByType.Other: SpawnTypeOther(controller, serializedObject); break; } }
void SpawnTypeOther(Particle_SpawnController controller, SerializedObject serializedObject) { controller.otherTrigger = (Particle_SpawnCondition)EditorGUILayout.ObjectField("Other", controller.otherTrigger, typeof(Particle_SpawnCondition), false); }