public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Label(_("Input Keys"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Push.key))); GUILayout.Label(_("Direction and Strength"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Push.pushStrength))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Push.axis))); var relativeAxisProp = serializedObject.FindProperty(nameof(Push.relativeAxis)); relativeAxisProp.boolValue = EditorTranslation.PropertyField <bool>(relativeAxisProp); var tip = relativeAxisProp.boolValue ? relativeTip : absoluteTip; EditorGUILayout.HelpBox(tip, MessageType.Info); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); bool prefabSelected = ShowPrefabWarning("prefabToSpawn"); if (prefabSelected) { if (!CheckIfObjectUsesComponent <Rigidbody2D>("prefabToSpawn")) { EditorGUILayout.HelpBox(warning, MessageType.Warning); } } GUILayout.Label(_("Object creation"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectShooter.prefabToSpawn))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectShooter.keyToPress))); GUILayout.Label(_("Other options"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectShooter.creationRate))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectShooter.shootSpeed))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectShooter.shootDirection))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectShooter.relativeToRotation))); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } //removed because it's not possible to choose the direction //EditorGUILayout.HelpBox(hint, MessageType.Info); }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); //base.OnInspectorGUI(); EditorGUILayout.LabelField(_("Input Keys"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Move.typeOfControl))); EditorGUILayout.LabelField(_("Movement"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Move.speed)), "Speed of movement"); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Move.movementType))); GUILayout.Space(5); GUILayout.Label(_("Orientation"), EditorStyles.boldLabel); var orientationToDirectionProp = serializedObject.FindProperty(nameof(Move.orientToDirection)); bool orientToDirection = EditorTranslation.PropertyField <bool>(orientationToDirectionProp); if (orientToDirection) { EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Move.lookAxis))); } orientationToDirectionProp.boolValue = orientToDirection; if (serializedObject.FindProperty(nameof(Move.movementType)).intValue != 0) { EditorGUILayout.HelpBox(constraintsReminder, MessageType.Info); } if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); var healthChangeProp = serializedObject.FindProperty(nameof(ModifyHealthAttribute.healthChange)); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ModifyHealthAttribute.destroyWhenActivated))); EditorTranslation.PropertyField(healthChangeProp); //print a message to explain better that values can be positive or negative GUIStyle style = new GUIStyle(EditorStyles.label); if (healthChangeProp.intValue < 0) { style.normal.textColor = Color.red; EditorGUILayout.LabelField(_("This object will damage on impact"), style); } else if (healthChangeProp.intValue > 0) { style.normal.textColor = Color.blue; EditorGUILayout.LabelField(_("This object will heal on impact"), style); } else { EditorGUILayout.LabelField(_("This object will have no effect")); } if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { var gameTypeProp = serializedObject.FindProperty(nameof(UIScript.gameType)); var numberOfPlayersProp = serializedObject.FindProperty(nameof(UIScript.numberOfPlayers)); var scoreToWinProp = serializedObject.FindProperty(nameof(UIScript.scoreToWin)); GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); nOfPlayers = numberOfPlayersProp.intValue; gameType = gameTypeProp.intValue; nOfPlayers = EditorGUILayout.Popup(_("Number of players"), nOfPlayers, readablePlayerEnum); gameType = EditorGUILayout.Popup(_("Game type"), gameType, readableGameTypesEnum); if (gameType == 0) //score game { EditorTranslation.PropertyField(scoreToWinProp); } if (gameType == 1) //life { EditorGUILayout.HelpBox(lifeReminder, MessageType.Info); } //write all the properties back gameTypeProp.intValue = gameType; numberOfPlayersProp.intValue = nOfPlayers; if (GUI.changed) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Label(_("Movement"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Wander.speed))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Wander.directionChangeInterval))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Wander.keepNearStartingPoint))); GUILayout.Space(5); GUILayout.Label(_("Orientation"), EditorStyles.boldLabel); var orientToDirectionProp = serializedObject.FindProperty(nameof(Wander.orientToDirection)); var orientToDirectionTemp = EditorTranslation.PropertyField <bool>(orientToDirectionProp); if (orientToDirectionTemp) { EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Wander.lookAxis))); } orientToDirectionProp.boolValue = orientToDirectionTemp; if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); //Contents EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.textToDisplay))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.backgroundColor))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.textColor))); //Options EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.targetObject))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.disappearMode))); int isUsingKey = serializedObject.FindProperty(nameof(DialogueBalloonAction.disappearMode)).intValue; if (isUsingKey == 1) { EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.keyToPress))); } else { EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.timeToDisappear))); } //Continue dialogue EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DialogueBalloonAction.followingText))); EditorGUILayout.HelpBox(tipMessage, MessageType.Info); if (GUI.changed) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); //draw the popup that displays the names of Resource types, taken from the "InventoryResources" ScriptableObject var resourceIndexProp = serializedObject.FindProperty(nameof(ResourceAttribute.resourceIndex)); int chosenType = resourceIndexProp.intValue; //take the int value from the property EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel(_("Type of Resource")); chosenType = EditorGUILayout.Popup(chosenType, repository.GetResourceTypes(), GUILayout.ExpandWidth(false)); EditorGUILayout.EndHorizontal(); resourceIndexProp.intValue = chosenType; //put the value back into the property EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ResourceAttribute.amount))); GUILayout.Space(10); //Display a button to jump to the "InventoryResources" ScriptableObject if (GUILayout.Button(_("Add/Remove types"))) { Selection.activeObject = repository; } CheckIfTrigger(true); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Jump.key))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Jump.jumpStrength))); GUILayout.Label(_("Ground setup"), EditorStyles.boldLabel); var checkGroundProp = serializedObject.FindProperty(nameof(Jump.checkGround)); checkGround = EditorTranslation.PropertyField <bool>(checkGroundProp); if (checkGround) { EditorTranslation.PropertyTagField(serializedObject.FindProperty(nameof(Jump.groundTag))); } else { EditorGUILayout.HelpBox(checkGroundTip, MessageType.Info); } checkGroundProp.boolValue = checkGround; if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(AutoMove.direction))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(AutoMove.relativeToRotation))); }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DestroyForPointsAttribute.pointsWorth))); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(TimedSelfDestruct.timeToDestruction))); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
//draws the list ReorderableList of GameplayActions, the useCustomActions toggle and (if this is enabled) the default list of UnityEvents protected void DrawActionLists() { list.DoLayoutList(); var useCustomActionsProp = serializedObject.FindProperty(nameof(ConditionBase.useCustomActions)); useCustomActionsProp.boolValue = EditorTranslation.PropertyField <bool>(useCustomActionsProp); if (useCustomActionsProp.boolValue) { var e = new UnityEvent(); EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(ConditionBase.customActions))); } }
//draws the tags as a dropdown only if the Filter by Tag toggle is enabled protected void DrawTagsGroup() { var happenOnlyOnceProp = serializedObject.FindProperty(nameof(ConditionBase.happenOnlyOnce)); var filterByTagProp = serializedObject.FindProperty(nameof(ConditionBase.filterByTag)); EditorTranslation.PropertyField(happenOnlyOnceProp); filterByTag = EditorTranslation.PropertyField <bool>(filterByTagProp); if (filterByTag) { chosenTag = EditorGUILayout.TagField(_("Tag to check for"), chosenTag); } filterByTagProp.boolValue = filterByTag; }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(AutoRotate.rotationSpeed))); EditorGUILayout.HelpBox(tip, MessageType.Info); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Label(_("Input Keys"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Rotate.typeOfControl))); GUILayout.Label(_("Rotation"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(Rotate.speed))); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { serializedObject.Update(); GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Space(10); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ConditionRepeat.initialDelay))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ConditionRepeat.frequency))); GUILayout.Space(10); DrawActionLists(); serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Space(10); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(PickUpAndHold.pickupKey))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(PickUpAndHold.dropKey))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(PickUpAndHold.pickUpDistance))); GUILayout.Space(10); EditorGUILayout.HelpBox(warning, MessageType.Warning); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Space(10); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CreateObjectAction.prefabToCreate))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CreateObjectAction.newPosition))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CreateObjectAction.relativeToThisObject))); ShowPrefabWarning("prefabToCreate"); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DestroyAction.target))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(DestroyAction.deathEffect))); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } if (!CheckIfAssigned("deathEffect", true)) { EditorGUILayout.HelpBox(tip, MessageType.Info); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); //search for a Camera component Camera cam = go.GetComponent <Camera>(); if (cam == null) { //display a warning and a button to fix it EditorGUILayout.HelpBox(requiresCamera, MessageType.Error); } else { EditorTranslation.PropertyField(serializedObject.FindProperty("target")); if (!CheckIfAssigned("target", false)) { EditorGUILayout.HelpBox(warning, MessageType.Warning); } GUILayout.Space(5); GUILayout.Label(_("Limits"), EditorStyles.boldLabel); var property = serializedObject.FindProperty(nameof(CameraFollow.limitBounds)); var allowLimitBoundsTemp = EditorTranslation.PropertyField <bool>(property); if (allowLimitBoundsTemp) { EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CameraFollow.left))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CameraFollow.right))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CameraFollow.bottom))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(CameraFollow.top))); } property.boolValue = allowLimitBoundsTemp; if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Space(10); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(OnOffAction.objectToAffect))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(OnOffAction.justMakeInvisible))); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } if (serializedObject.FindProperty("justMakeInvisible").boolValue) { EditorGUILayout.HelpBox(invisibleTip, MessageType.Info); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); ShowPrefabWarning("prefabToSpawn"); GUILayout.Label(_("Object creation"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectCreatorArea.prefabToSpawn))); GUILayout.Label(_("Other options"), EditorStyles.boldLabel); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ObjectCreatorArea.spawnInterval))); CheckIfTrigger(true); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Space(10); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(TeleportAction.objectToMove))); if (!CheckIfAssigned(nameof(TeleportAction.objectToMove), false)) { EditorGUILayout.HelpBox(objectWarning, MessageType.Warning); } EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(TeleportAction.newPosition))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(TeleportAction.stopMovements))); if (GUI.changed) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { serializedObject.Update(); var eventTypeProp = serializedObject.FindProperty(nameof(ConditionArea.eventType)); var filterTagProp = serializedObject.FindProperty(nameof(ConditionArea.filterTag)); var frequencyProp = serializedObject.FindProperty(nameof(ConditionArea.frequency)); chosenTag = filterTagProp.stringValue; GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); // Show a tag selector to then use for the public property filterTag GUILayout.Space(10); DrawTagsGroup(); //discern the event type, and show the frequency if needed EditorTranslation.PropertyField(eventTypeProp); int eventType = eventTypeProp.intValue; if (eventType == 2) { EditorTranslation.PropertyField(frequencyProp); } GUILayout.Space(10); DrawActionLists(); CheckIfTrigger(true); if (GUI.changed) { filterTagProp.stringValue = chosenTag; serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); GUILayout.Space(5); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(FollowTarget.target))); //Draw custom inspector EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(FollowTarget.speed))); GUILayout.Space(10); SerializedProperty lookAtTargetProperty = serializedObject.FindProperty(nameof(FollowTarget.lookAtTarget)); lookAtTargetProperty.boolValue = EditorGUILayout.BeginToggleGroup(_("Look at target"), lookAtTargetProperty.boolValue); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(FollowTarget.useSide))); EditorGUILayout.EndToggleGroup(); if (serializedObject.hasModifiedProperties) { serializedObject.ApplyModifiedProperties(); } }
public override void OnInspectorGUI() { serializedObject.Update(); GUILayout.Space(10); EditorGUILayout.HelpBox(explanation, MessageType.Info); /* * Texture2D headerBackground; * GUIStyle g = new GUIStyle(); * headerBackground = Resources.Load<Texture2D>("Textures/Blue"); * g.normal.background = headerBackground; * EditorGUILayout.BeginVertical(g); * * g.padding = new RectOffset(5,0,0,0); * if(!EditorGUIUtility.isProSkin) * { * headerBackground = Resources.Load<Texture2D>("Textures/HeaderPers"); * } * else * { * headerBackground = Resources.Load<Texture2D>("Textures/GreyPro"); * } * g.normal.background = headerBackground; * * EditorGUILayout.BeginVertical(g); * EditorGUI.indentLevel++; * t = EditorGUILayout.Foldout(t, "Help"); * if(t) * { * EditorGUI.indentLevel--; * //EditorGUILayout.HelpBox(explanation, MessageType.Info); * GUISkin s = Resources.Load<GUISkin>("Playground"); * GUI.skin = s; * GUILayout.Label(explanation, "HelpText"); * EditorGUI.indentLevel++; * GUI.skin = null; * } * EditorGUI.indentLevel--; * EditorGUILayout.EndVertical (); * EditorGUILayout.EndVertical (); */ GUILayout.Space(10); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ConditionKeyPress.happenOnlyOnce))); EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ConditionKeyPress.keyToPress))); //discern the event type, and show the frequency if needed var eventTypeProp = serializedObject.FindProperty(nameof(ConditionKeyPress.eventType)); EditorTranslation.PropertyField(eventTypeProp); int eventType = eventTypeProp.intValue; if (eventType == 2) { EditorTranslation.PropertyField(serializedObject.FindProperty(nameof(ConditionKeyPress.frequency))); } GUILayout.Space(10); DrawActionLists(); serializedObject.ApplyModifiedProperties(); }