public override void OnInspectorGUI() { AppearanceProbability appearanceProbability = ((AppearanceProbability)target); DistanceValueList occurProbabilities = appearanceProbability.occurProbabilities; GUILayout.Label("Occur Probabilities", "BoldLabel"); if (DistanceValueListInspector.showLoopToggle(ref occurProbabilities, DistanceValueType.Probability)) { appearanceProbability.occurProbabilities = occurProbabilities; EditorUtility.SetDirty(target); } DistanceValueListInspector.showDistanceValues(ref occurProbabilities, DistanceValueType.Probability); DistanceValueList noOccurProbabilities = appearanceProbability.noOccurProbabilities; GUILayout.Label("No Occur Probabilities", "BoldLabel"); if (DistanceValueListInspector.showLoopToggle(ref noOccurProbabilities, DistanceValueType.Probability)) { appearanceProbability.noOccurProbabilities = noOccurProbabilities; EditorUtility.SetDirty(target); } DistanceValueListInspector.showDistanceValues(ref noOccurProbabilities, DistanceValueType.Probability); if (DistanceValueListInspector.showAddNewValue(ref occurProbabilities, ref noOccurProbabilities)) { appearanceProbability.occurProbabilities = occurProbabilities; appearanceProbability.noOccurProbabilities = noOccurProbabilities; EditorUtility.SetDirty(target); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); SectionSelection sectionSelection = (SectionSelection)target; if (sectionSelection.sectionSelectionType == SectionSelectionType.None) { return; } bool probabilityType = false; if (sectionSelection.sectionSelectionType == SectionSelectionType.ProbabilityRandom || sectionSelection.sectionSelectionType == SectionSelectionType.ProbabilityLoop) { GUILayout.Label("Active Sections", "BoldLabel"); int start = EditorGUILayout.IntField("Start Section", sectionSelection.startSection); if (start != sectionSelection.startSection) { sectionSelection.startSection = start; } int end = EditorGUILayout.IntField("End Section", sectionSelection.endSection); if (end != sectionSelection.endSection) { sectionSelection.endSection = end; } probabilityType = true; } GUILayout.Label(string.Format("Section Change {0}", probabilityType ? "Probability" : ""), "BoldLabel"); DistanceValueList sectionList = sectionSelection.sectionList; if (DistanceValueListInspector.showLoopToggle(ref sectionList, probabilityType ? DistanceValueType.Probability : DistanceValueType.Section)) { sectionSelection.sectionList = sectionList; EditorUtility.SetDirty(target); } DistanceValueListInspector.showDistanceValues(ref sectionList, probabilityType ? DistanceValueType.Probability : DistanceValueType.Section); if (DistanceValueListInspector.showAddNewValue(ref sectionList, probabilityType ? DistanceValueType.Probability : DistanceValueType.Section)) { sectionSelection.sectionList = sectionList; EditorUtility.SetDirty(target); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); PlayerController playerController = (PlayerController)target; GUILayout.Label("Forward Speeds", "BoldLabel"); DistanceValueList forwardSpeedList = playerController.forwardSpeeds; if (DistanceValueListInspector.ShowLoopToggle(ref forwardSpeedList, DistanceValueType.Speed)) { playerController.forwardSpeeds = forwardSpeedList; EditorUtility.SetDirty(target); } DistanceValueListInspector.ShowDistanceValues(ref forwardSpeedList, DistanceValueType.Speed); if (DistanceValueListInspector.ShowAddNewValue(ref forwardSpeedList, DistanceValueType.Speed)) { playerController.forwardSpeeds = forwardSpeedList; EditorUtility.SetDirty(target); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); InfiniteObjectGenerator infiniteObjectGenerator = (InfiniteObjectGenerator)target; GUILayout.Label("No Collidable Probabilities", "BoldLabel"); DistanceValueList distanceProbabilityList = infiniteObjectGenerator.noCollidableProbability; if (DistanceValueListInspector.showLoopToggle(ref distanceProbabilityList, DistanceValueType.Probability)) { infiniteObjectGenerator.noCollidableProbability = distanceProbabilityList; EditorUtility.SetDirty(target); } DistanceValueListInspector.showDistanceValues(ref distanceProbabilityList, DistanceValueType.Probability); if (DistanceValueListInspector.showAddNewValue(ref distanceProbabilityList, DistanceValueType.Probability)) { infiniteObjectGenerator.noCollidableProbability = distanceProbabilityList; EditorUtility.SetDirty(target); } }
public void OnGUI() { scrollPosition = GUILayout.BeginScrollView(scrollPosition); GUILayout.Label("This wizard will assist in the creation of a new character.\nThe more frequently changed fields are listed and the\nunlisted fields will remain with their default value.\n" + "All of these values can be changed at a later point in time."); GUILayout.Space(5); GUILayout.Label("Model", "BoldLabel"); if (model == null) { GUI.color = Color.red; } model = EditorGUILayout.ObjectField("Character Model", model, typeof(GameObject), true) as GameObject; GUI.color = Color.white; GUILayout.Label("Player", "BoldLabel"); horizontalSpeed = EditorGUILayout.FloatField("Horizontal Speed", horizontalSpeed); jumpHeight = EditorGUILayout.FloatField("Jump Height", jumpHeight); slideDuration = EditorGUILayout.FloatField("Slide Duration", slideDuration); attackType = (AttackType)EditorGUILayout.EnumPopup("Attack Type", attackType); if (attackType == AttackType.Fixed) { attackCloseDistance = EditorGUILayout.FloatField("Close Attack Distance", attackCloseDistance); attackFarDistance = EditorGUILayout.FloatField("Far Attack Distance", attackFarDistance); } else if (attackType == AttackType.Projectile) { projectileObject = EditorGUILayout.ObjectField("Projectile", projectileObject, typeof(ProjectileObject), true) as ProjectileObject; } autoTurn = EditorGUILayout.Toggle("Auto Turn?", autoTurn); autoJump = EditorGUILayout.Toggle("Auto Jump?", autoJump); DistanceValueListInspector.ShowLoopToggle(ref forwardSpeedList, DistanceValueType.Speed); if (forwardSpeedList == null || forwardSpeedList.Count() == 0) { GUI.color = Color.red; } DistanceValueListInspector.ShowDistanceValues(ref forwardSpeedList, DistanceValueType.Speed); GUI.color = Color.white; DistanceValueListInspector.ShowAddNewValue(ref forwardSpeedList, DistanceValueType.Speed); GUILayout.Space(5); GUILayout.Label("Particles", "BoldLabel"); GUILayout.Label("Optionally specify a character to copy the particles from"); particleSource = EditorGUILayout.ObjectField("Particles Source", particleSource, typeof(PlayerController), true) as PlayerController; GUILayout.Space(5); GUILayout.Label("Animations", "BoldLabel"); useMecanim = EditorGUILayout.Toggle("Use Mecanim?", useMecanim); if (useMecanim) { runStateName = EditorGUILayout.TextField("Run State Name", runStateName); jumpStateName = EditorGUILayout.TextField("Jump State Name", jumpStateName); slideStateName = EditorGUILayout.TextField("Slide State Name", slideStateName); rightStrafeStateName = EditorGUILayout.TextField("Right Strafe State Name", rightStrafeStateName); leftStrafeStateName = EditorGUILayout.TextField("Left Strafe State Name", leftStrafeStateName); attackStateName = EditorGUILayout.TextField("Attack State Name", attackStateName); backwardDeathStateName = EditorGUILayout.TextField("Backward Death State Name", backwardDeathStateName); forwardDeathStateName = EditorGUILayout.TextField("Forward Death State Name", forwardDeathStateName); idleStateName = EditorGUILayout.TextField("Idle State Name", idleStateName); } else { runAnimationName = EditorGUILayout.TextField("Run Animation Name", runAnimationName); runJumpAnimationName = EditorGUILayout.TextField("Jump Animation Name", runJumpAnimationName); runSlideAnimationName = EditorGUILayout.TextField("Slide Animation Name", runSlideAnimationName); runRightStrafeAnimationName = EditorGUILayout.TextField("Right Strafe Animation Name", runRightStrafeAnimationName); runLeftStrafeAnimationName = EditorGUILayout.TextField("Left Strafe Animation Name", runLeftStrafeAnimationName); attackAnimationName = EditorGUILayout.TextField("Attack Animation Name", attackAnimationName); backwardDeathAnimationName = EditorGUILayout.TextField("Backward Death Animation Name", backwardDeathAnimationName); forwardDeathAnimationName = EditorGUILayout.TextField("Forward Death Animation Name", forwardDeathAnimationName); idleAnimationName = EditorGUILayout.TextField("Idle Animation Name", idleAnimationName); } if (model == null || forwardSpeedList == null || forwardSpeedList.Count() == 0) { GUI.enabled = false; } GUILayout.Space(10); if (GUILayout.Button("Create") && GUI.enabled) { CreateCharacter(); } GUI.enabled = true; GUILayout.EndScrollView(); }