public static MvcHtmlString EditorFor <TModel, TValue>(this HtmlHelper <TModel> html, Expression <Func <TModel, TValue> > expression, bool useEnumTemplate, string templatename, object additionalViewData) { RouteValueDictionary vd = null; var style = ""; if (additionalViewData != null) { vd = new RouteValueDictionary(additionalViewData); style = (string)vd["Style"]; } if (typeof(TValue).IsEnum) { return(EditorExtensions.EditorFor(html, expression, templatename, new { EnumType = typeof(TValue), Style = style, AdditionalRVD = vd })); } else if (Nullable.GetUnderlyingType(typeof(TValue)) != null && Nullable.GetUnderlyingType(typeof(TValue)).IsEnum) { return(EditorExtensions.EditorFor(html, expression, templatename, new { EnumType = Nullable.GetUnderlyingType(typeof(TValue)), Style = style, AdditionalRVD = vd })); } return(EditorExtensions.EditorFor(html, expression, templatename, additionalViewData)); }
public override void OnInspectorGUI() { serializedObject.Update(); //show add message if (GUILayout.Button("Add Message")) { s_messages.InsertArrayElementAtIndex(s_messages.arraySize); } //loop thru our message list for (int i = 0; i < s_messages.arraySize; i++) { DrawMessagesEntry(s_messages.GetArrayElementAtIndex(i), "Message " + (i + 1), i); } //show enableDialog toggle, if enabled, then show the dialog properties GUILayout.BeginVertical("box"); EditorGUILayout.PropertyField(s_enableDialog, new GUIContent("Enable Dialog:")); if (s_enableDialog.boolValue) { EditorGUILayout.PropertyField(s_yesText, new GUIContent("Yes Button Label"), GUILayout.Height(30f)); EditorExtensions.DrawActionsArray(s_yesActions, "Yes Actions"); EditorGUILayout.PropertyField(s_noText, new GUIContent("No Button Label"), GUILayout.Height(30f)); EditorExtensions.DrawActionsArray(s_noActions, "No Actions"); } GUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); }
protected override void DisplayItemDatasProperties() { EditorGUILayout.PropertyField(loadInventory); if (loadInventory.enumValueIndex == 1)//override items { base.DisplayItemDatasProperties(); } else { //load from userdata EditorGUILayout.PropertyField(userDataManager); var userData = userDataManager.GetRootValue <UserDataManager>(); if (userData != null) { EditorGUILayout.PropertyField(user); var userSource = user.GetRootValue <IndexStringProperty>(); if (userSource != null) { userSource.stringValues = userData.GetUserNames(); var user = userData.GetUser(userSource.indexValue); if (user != null) { quickMenuButtons.arraySize = user.inventoryItems.Length; } } } else { EditorExtensions.LabelFieldCustom("Need " + userDataManager.displayName + " to get user information!", Color.red, FontStyle.Bold); } } }
protected override void DisplayDataProperties <T>() { EditorGUILayout.PropertyField(setData); if (setData.boolValue) { base.DisplayDataProperties <UnitData>(); } else { EditorExtensions.LabelFieldCustom("User Options", FontStyle.Bold); EditorGUILayout.PropertyField(userMode); if (userMode.enumValueIndex == (int)Player.UserMode.Override) { EditorGUILayout.PropertyField(userDataManager); var man = userDataManager.GetRootValue <UserDataManager>(); if (man != null) { user.IndexStringPropertyField(man.GetUserNames()); } else { EditorExtensions.LabelFieldCustom("Need User Data Manager!", FontStyle.Bold, Color.red); } } } }
void SaveSprites() { foreach (var sprite in sprites) { EditorExtensions.SaveTexture(sprite, pathToCurrentFolder, sprite.name); } }
public override void SetProperties() { base.SetProperties(); EditorExtensions.LabelFieldCustom("InteractFX Properties", Color.black, FontStyle.Bold); EditorGUILayout.PropertyField(interacts, true); EditorGUILayout.PropertyField(runInteractsOnOwner); }
private void SetProperties() { EditorGUILayout.Space(); EditorGUILayout.PropertyField(maxUsers); maxItems.IntFieldClamp(0, int.MaxValue); EditorGUILayout.PropertyField(setDefaultItems); if (setDefaultItems.boolValue) { EditorGUILayout.PropertyField(itemManager); var manager = itemManager.GetRootValue <ItemDataManager>(); if (manager != null) { var itemArray = items.GetRootValue <ItemProperty[]>(); for (int i = 0; i < itemArray.Length; i++) { itemArray[i].itemNames = manager.GetItemNames(); } EditorGUILayout.PropertyField(items, true); } else { EditorExtensions.LabelFieldCustom("Need " + itemManager.displayName + " to continue.", Color.red, FontStyle.Bold); } items.arraySize = maxItems.intValue; } DisplayNewUserFields(); DisplayAllUsers(); }
public static MvcHtmlString BootstrapEditorFor <TModel, TValue>(this HtmlHelper <TModel> helper, Expression <Func <TModel, TValue> > expression) { MvcHtmlString label = LabelExtensions.LabelFor(helper, expression, new { @class = "control-label col-xs-12 col-sm-4 col-md-3" }); MvcHtmlString editor = EditorExtensions.EditorFor(helper, expression, new { htmlAttributes = new { @class = "form-control" } }); MvcHtmlString validation = ValidationExtensions.ValidationMessageFor(helper, expression, null, new { @class = "text-danger" }); // Build the input elements TagBuilder editorDiv = new TagBuilder("div"); editorDiv.AddCssClass("col-xs-4 col-sm-2 col-md-2 col-lg-1"); editorDiv.InnerHtml = editor.ToString(); // Build the validation message elements TagBuilder validationSpan = new TagBuilder("span"); validationSpan.AddCssClass("help-block"); validationSpan.InnerHtml = validation.ToString(); TagBuilder validationDiv = new TagBuilder("div"); validationDiv.AddCssClass("col-xs-12 col-md-8 col-sm-offset-4 col-md-offset-3"); validationDiv.InnerHtml = validationSpan.ToString(); // Combine all elements StringBuilder html = new StringBuilder(); html.Append(label.ToString()); html.Append(editorDiv.ToString()); html.Append(validationDiv.ToString()); // Build the outer div TagBuilder outerDiv = new TagBuilder("div"); outerDiv.AddCssClass("form-group"); outerDiv.InnerHtml = html.ToString(); return(MvcHtmlString.Create(outerDiv.ToString())); }
protected virtual void DisplayPriorities() { EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Priority Settings", FontStyle.Bold); EditorGUILayout.PropertyField(entityDataManager); if (!entityDataManager.objectReferenceValue) { return; } //get data var entData = new SerializedObject(entityDataManager.objectReferenceValue); var entities = entData.FindProperty("entities"); chasePriorities.arraySize = entities.arraySize; fleePriorities.arraySize = entities.arraySize; lookAtPriorities.arraySize = entities.arraySize; //get id names var idNames = new string[chasePriorities.arraySize]; for (int i = 0; i < entities.arraySize; i++) { idNames[i] = i.ToString(); } //chase priorities DoPriorityList(chasePriorities, entities, idNames); DoPriorityList(lookAtPriorities, entities, idNames); DoPriorityList(fleePriorities, entities, idNames); entData.Dispose(); }
public static MvcHtmlString PhoneEditorFor <TModel, TValue>(this HtmlHelper <TModel> helper, Expression <Func <TModel, TValue> > expression) { MvcHtmlString editor = EditorExtensions.EditorFor(helper, expression, new { htmlAttributes = new { @class = "form-control" } }); TagBuilder inputTableCell = new TagBuilder("div"); inputTableCell.MergeAttribute("style", "display:table-cell;"); inputTableCell.InnerHtml = editor.ToString() .Replace("class=\"form-control text-box single-line\"", "style=\"border:0;\""); TagBuilder prefixDiv = new TagBuilder("div"); prefixDiv.MergeAttribute("style", "display:table-cell;width:28px;padding-top:5px;"); prefixDiv.InnerHtml = "38 0"; TagBuilder phoneFormControl = new TagBuilder("div"); phoneFormControl.AddCssClass("form-control text-box single-line"); phoneFormControl.MergeAttribute("style", "padding:0 0 0 12px;max-width: 280px;"); phoneFormControl.InnerHtml = prefixDiv.ToString() + inputTableCell.ToString(); StringBuilder html = new StringBuilder(); html.Append(phoneFormControl.ToString()); return(MvcHtmlString.Create(html.ToString())); }
void DrawOneWayDetectZone() { if (enableOneWayPlatforms.boolValue) { EditorExtensions.DrawDetectZone(source.transform, oneWayDetectZone); } }
protected virtual void SetProperties() { EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Initialize Options", FontStyle.Bold); EditorGUILayout.PropertyField(delay); EditorGUILayout.Space(); }
void PreTriggerField(SerializedProperty _property, int _ind) { var preTriggerName = _property.FindPropertyRelative("preTriggerName"); var activated = _property.FindPropertyRelative("activated"); EditorGUILayout.BeginHorizontal(); var col = Color.green; if (!activated.boolValue) { col = Color.grey; } EditorExtensions.LabelFieldCustom("◯", FontStyle.Bold, col, 11, 2); if (preTriggerName.stringValue == "") { preTriggerName.stringValue = "PreTrigger " + _ind; } EditorGUILayout.PropertyField(preTriggerName); EditorGUILayout.EndHorizontal(); }
protected virtual void SetProperties() { EditorExtensions.SpritePreviewField(avatarIcon, 80, 80, true); DisplayEntityProperties(); DisplayVitalityProperties(); DisplayUIProperties(); }
public override void SetProperties() { base.SetProperties(); EditorExtensions.LabelFieldCustom("HookShot Properties", Color.black, FontStyle.Bold); EditorGUILayout.PropertyField(shootType); EditorGUILayout.PropertyField(shootButton); EditorGUILayout.PropertyField(cancelButton); EditorGUILayout.PropertyField(hookPrefab); EditorGUILayout.PropertyField(lineRenderer); EditorGUILayout.PropertyField(damageMask); if (damageMask.intValue != 0) { EditorGUILayout.PropertyField(damage); EditorGUILayout.PropertyField(damageRadius); EditorGUILayout.PropertyField(retractOnDamage); } EditorGUILayout.PropertyField(fireSpeed); EditorGUILayout.PropertyField(lifeTime); EditorGUILayout.PropertyField(dragType); if (dragType.enumValueIndex == 0) { EditorGUILayout.PropertyField(dragSpeed); } else { EditorGUILayout.PropertyField(controlSpeed); } EditorGUILayout.PropertyField(minDistance); EditorGUILayout.PropertyField(hookableSurfaceMask); EditorGUILayout.PropertyField(cancelShotMask); EditorGUILayout.PropertyField(obstacleCollisionMask); EditorGUILayout.PropertyField(collisionRadius); }
public virtual void DisplayRotation() { EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Rotation Settings", FontStyle.Bold); rotSensitivity.FloatFieldClamp(1, Mathf.Infinity); EditorGUILayout.PropertyField(ignoreLeanRotation); }
public override void SetProperties() { base.SetProperties(); EditorGUILayout.LabelField("Weapon Properties", boldStyle); EditorGUILayout.PropertyField(damage); EditorGUILayout.PropertyField(instantFirstShot); EditorGUILayout.PropertyField(fireDelay); EditorGUILayout.PropertyField(spreadType); if (spreadType.enumValueIndex != 0) { EditorGUILayout.PropertyField(fireAmount); EditorGUILayout.PropertyField(angle); if (spreadType.enumValueIndex == 2) { EditorGUILayout.PropertyField(randomAmount); } } EditorGUILayout.PropertyField(fireType); if (fireType.enumValueIndex == 0) { EditorGUILayout.PropertyField(fireDistance); } else { EditorExtensions.PrefabFieldWithComponent(projectile, typeof(Projectile)); EditorGUILayout.PropertyField(projectileSpeed); } EditorGUILayout.PropertyField(aimTransformAtTarget); if (aimTransformAtTarget.boolValue) { EditorGUILayout.PropertyField(aimTrans); } EditorGUILayout.PropertyField(mask); }
void DrawNavMeshDebug() { if (!source.Agent) { return; } if (!source.Agent.hasPath || source.Agent.pathPending) { return; } Handles.color = Color.green; var pathPoints = source.Agent.path.corners; if (pathPoints.Length > 0) { for (int i = 0; i < pathPoints.Length; i++) { if (i > 0) { Handles.DrawLine(pathPoints[i], pathPoints[i - 1]); } } EditorExtensions.DrawWireSphere(source.CurDestination, Quaternion.identity, 0.2f, Color.red); } }
public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(s_itemDatabase, new GUIContent("Item Database: ")); if (source.ItemDatabase != null) { //draw the popup/enum for selecting items source.itemId = EditorGUILayout.Popup(source.itemId, source.ItemDatabase.ItemsNames.ToArray()); EditorGUILayout.PropertyField(s_giveItem, new GUIContent("Give Item: ")); //draw item entry DrawItemEntry(source.CurrentItem); EditorExtensions.DrawActionsArray(s_yesActions, "Yes Actions: "); //EditorGUILayout.PropertyField(s_yesActions, new GUIContent("Yes Actions: "), true); EditorExtensions.DrawActionsArray(s_noActions, "No Actions: "); //EditorGUILayout.PropertyField(s_noActions, new GUIContent("No Actions: "), true); } if (GUI.changed) { if (source.ItemDatabase != null) { source.ChangeItem(source.ItemDatabase.GetItem(source.itemId)); } EditorUtility.SetDirty(source); EditorSceneManager.MarkSceneDirty(source.gameObject.scene); } serializedObject.ApplyModifiedProperties(); }
public override void OnEnable() { base.OnEnable(); pSource = (PlayerController)source; SetHeaderStyle(); axisNames = EditorExtensions.GetInputAxisNames(); }
protected override void DisplayDataProperties <T>() { //skins base.DisplayDataProperties <UnitData>(); if (data.objectReferenceValue) { EditorExtensions.LabelFieldCustom("Skin Options", FontStyle.Bold); EditorGUILayout.PropertyField(skinOptions); if (skinOptions.enumValueIndex == (int)Unit.SpawnSkinOptions.Override) { spawnSkinOverride.objectReferenceValue = EditorGUILayout.ObjectField("Prefab Override", spawnSkinOverride.objectReferenceValue, typeof(GameObject), false); } else if (skinOptions.enumValueIndex == (int)Unit.SpawnSkinOptions.Child) { EditorGUILayout.PropertyField(childSkinOverride); var child = childSkinOverride.GetRootValue <GameObject>(); if (child) { if (!source.transform.FindDeepChild(child.name)) { Debug.Log("You must assign a child of " + source + " to " + childSkinOverride.displayName); childSkinOverride.objectReferenceValue = null; } } } } else { EditorExtensions.LabelFieldCustom("You must assign a unit data file to " + data.displayName, FontStyle.Bold, Color.red); } }
protected override void DisplayMovement() { base.DisplayMovement(); EditorGUILayout.PropertyField(constantSpeed); EditorGUILayout.PropertyField(forwardZMovementOnly); EditorGUILayout.PropertyField(backwardSpeed); EditorExtensions.LabelFieldCustom("Movement Input", FontStyle.Bold); EditorGUILayout.PropertyField(enableJoystickUse); horizontalInput.InputPropertyField(axisNames); verticalInput.InputPropertyField(axisNames); keyboardAimInputHor.InputPropertyField(axisNames); keyboardAimInputVer.InputPropertyField(axisNames); if (enableJoystickUse.boolValue) { joystickAimInputHor.InputPropertyField(axisNames); joystickAimInputVer.InputPropertyField(axisNames); } EditorGUILayout.PropertyField(rawInputValues); EditorGUILayout.PropertyField(invertY); EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Run Settings", FontStyle.Bold); EditorGUILayout.PropertyField(enableRun); if (enableRun.boolValue) { runButton.InputPropertyField(axisNames); } EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Crouch Settings", FontStyle.Bold); EditorGUILayout.PropertyField(enableCrouch); if (enableCrouch.boolValue) { crouchButton.InputPropertyField(axisNames); EditorGUILayout.PropertyField(toggleCrouch); EditorGUILayout.PropertyField(crouchTime); EditorGUILayout.PropertyField(crouchSpeed); EditorGUILayout.PropertyField(crouchSpeedTime); } EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Climbing Settings", FontStyle.Bold); EditorGUILayout.PropertyField(enableClimbing); if (enableClimbing.boolValue) { EditorGUILayout.PropertyField(climbingDetect); EditorGUILayout.PropertyField(climbSpeed); } EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("In Air Settings", FontStyle.Bold); EditorGUILayout.PropertyField(inAirControlTime); EditorGUILayout.PropertyField(enableMovementSmoothing); if (enableMovementSmoothing.boolValue) { EditorGUILayout.PropertyField(moveSensitivity); } }
protected override void SetProperties() { base.SetProperties(); EditorExtensions.LabelFieldCustom("Item Properties", FontStyle.Bold); EditorGUILayout.PropertyField(connectedPrefab); EditorGUILayout.PropertyField(weight); EditorGUILayout.PropertyField(droppable); if (droppable.boolValue) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(droppedPrefab); EditorGUI.indentLevel--; } EditorGUILayout.PropertyField(quickMenuCompatible); EditorGUILayout.PropertyField(locationData); if (locationData.objectReferenceValue) { var locData = locationData.objectReferenceValue as ItemLocationData; spawnLocationNames = locData.GetItemLocationNames(); defaultSpawnLocation.IndexStringPropertyField(locData.GetItemLocationNames()); } else { EditorExtensions.LabelFieldCustom("Need location data to spawn item on unit", FontStyle.Bold, Color.red); } EditorGUILayout.PropertyField(buffs, true); CheckModelPrefabLink(); }
void DisplayJumping() { EditorGUILayout.Space(); EditorExtensions.LabelFieldCustom("Jump Settings", FontStyle.Bold); EditorGUILayout.PropertyField(enableJump); if (enableJump.boolValue) { jumpButton.InputPropertyField(axisNames); EditorGUILayout.PropertyField(jumpStyle); EditorGUILayout.PropertyField(enableDoubleJump); if (enableClimbing.boolValue) { EditorGUILayout.PropertyField(enableJumpClimbing); } if (jumpStyle.enumValueIndex == 1) { EditorGUILayout.PropertyField(gravityMultiplier); EditorGUILayout.PropertyField(lowJumpMultiplier); } if (jumpStyle.enumValueIndex == 2) { EditorGUILayout.PropertyField(jumpCurve); EditorGUILayout.PropertyField(jumpTime); } } }
protected override void SetProperties() { base.SetProperties(); EditorExtensions.LabelFieldCustom("Behaviour Settings", FontStyle.Bold); behaviour.IndexStringField(componentNames); EditorGUILayout.PropertyField(enable); }
static void DisplayValidation() { EditorExtensions.LabelFieldCustom("Validation Options", FontStyle.Bold); validationMask.intValue = EditorGUILayout.MaskField("Validation Mask", validationMask.intValue, System.Enum.GetNames(typeof(EngineEventTrigger.ValidationType))); if (validationMask.intValue == (validationMask.intValue | (1 << (int)EngineEventTrigger.ValidationType.Layer))) { EditorGUILayout.PropertyField(validationLayer); } if (validationMask.intValue == (validationMask.intValue | (1 << (int)EngineEventTrigger.ValidationType.Tag))) { EditorGUILayout.PropertyField(validationTag); } if (validationMask.intValue == (validationMask.intValue | (1 << (int)EngineEventTrigger.ValidationType.UnitValueAmount))) { EditorGUILayout.PropertyField(engineValueDataManager); if (engineValueDataManager.objectReferenceValue) { var val = engineValueDataManager.GetRootValue <EngineValueDataManager>(); if (val) { selection.EngineValueSelectionField(engineValueDataManager); } EditorGUILayout.PropertyField(valueOption); EditorGUILayout.PropertyField(comparedValue); } } }
private void OnEnable() { source = (MenuManager)target; sourceRef = serializedObject; axisNames = EditorExtensions.GetInputAxisNames(); GetProperties(); }
public override void SetProperties() { base.SetProperties(); EditorExtensions.LabelFieldCustom("Torch Properties", Color.black, FontStyle.Bold); EditorGUILayout.PropertyField(lightMaxRange); EditorGUILayout.PropertyField(lightDrainSpeed); }
public override void SetProperties() { base.SetProperties(); EditorGUILayout.PropertyField(icon); EditorGUILayout.PropertyField(spawnUI); if (spawnUI.boolValue) { EditorGUI.indentLevel++; EditorExtensions.PrefabFieldWithComponent(itemUI, typeof(UIValueAmount)); EditorGUILayout.PropertyField(setOwnerAsParent); EditorGUILayout.PropertyField(keepUIActiveIfDropped); EditorGUI.indentLevel--; } EditorGUILayout.PropertyField(value); EditorGUILayout.PropertyField(weight); EditorGUILayout.PropertyField(droppable); if (droppable.boolValue) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(droppedPrefab); EditorGUI.indentLevel--; } EditorGUILayout.PropertyField(quickMenuCompatible); EditorGUILayout.PropertyField(buffs, true); }
protected virtual void DisplaySpawnProperties() { if (setSkin.boolValue) { EditorGUILayout.LabelField("Spawn Properties", boldStyle); EditorGUILayout.PropertyField(locationData); var locData = locationData.GetRootValue <ItemLocationData>(); if (locData) { var names = locData.GetItemLocationNames(); itemSpawnLocations.arraySize = names.Length; for (int i = 0; i < names.Length; i++) { var ele = itemSpawnLocations.GetArrayElementAtIndex(i); var overrideParent = ele.FindPropertyRelative("overrideParent"); var overridePropertyName = ele.FindPropertyRelative("overridePropertyName"); var parent = ele.FindPropertyRelative("parent"); overrideParent.boolValue = true; parent.objectReferenceValue = skinPrefab.objectReferenceValue; overridePropertyName.stringValue = names[i]; EditorGUILayout.PropertyField(ele); } } else { EditorExtensions.LabelFieldCustom("Need location data to spawn items on unit", FontStyle.Bold, Color.red); } } }