Upgrade fix to SAUIM Test shader
Removed some experimental code that sneaked in to a commit --HG-- branch : develop_5.3pull/413/head
parent
77561026fa
commit
154c9c8d31
|
@ -1,224 +0,0 @@
|
|||
using System;
|
||||
using UnityEditor;
|
||||
|
||||
namespace UnityEngine.UI.Extensions
|
||||
{
|
||||
[CustomEditor(typeof(UIStar)), CanEditMultipleObjects]
|
||||
public class UIStarInspector : Editor
|
||||
{
|
||||
private static Vector3 pointSnap = Vector3.one * 0.1f;
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
SerializedProperty
|
||||
points = serializedObject.FindProperty("points"),
|
||||
frequency = serializedObject.FindProperty("frequency");
|
||||
serializedObject.Update();
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Texture"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Material"));
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("center"));
|
||||
EditorList.Show(points, EditorListOption.Buttons | EditorListOption.ListLabel);
|
||||
EditorGUILayout.IntSlider(frequency, 1, 20);
|
||||
if (!serializedObject.isEditingMultipleObjects)
|
||||
{
|
||||
int totalPoints = frequency.intValue * points.arraySize;
|
||||
if (totalPoints < 3)
|
||||
{
|
||||
EditorGUILayout.HelpBox("At least three points are needed.", MessageType.Warning);
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUILayout.HelpBox(totalPoints + " points in total.", MessageType.Info);
|
||||
}
|
||||
}
|
||||
if (serializedObject.ApplyModifiedProperties() ||
|
||||
(Event.current.type == EventType.ValidateCommand &&
|
||||
Event.current.commandName == "UndoRedoPerformed"))
|
||||
{
|
||||
foreach (UIStar s in targets)
|
||||
{
|
||||
if (PrefabUtility.GetPrefabType(s) != PrefabType.Prefab)
|
||||
{
|
||||
//s.UpdateMesh();
|
||||
s.SetAllDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OnSceneGUI()
|
||||
{
|
||||
UIStar star = target as UIStar;
|
||||
Transform starTransform = star.transform;
|
||||
|
||||
float angle = -360f / (star.frequency * star.points.Length);
|
||||
for (int i = 0; i < star.points.Length; i++)
|
||||
{
|
||||
Quaternion rotation = Quaternion.Euler(0f, 0f, angle * i);
|
||||
Handles.color = Color.red;
|
||||
Vector3
|
||||
oldPoint = starTransform.TransformPoint(rotation * star.points[i].position),
|
||||
newPoint = Handles.FreeMoveHandle(
|
||||
oldPoint, Quaternion.identity, 0.2f, pointSnap, Handles.DotCap);
|
||||
if (oldPoint != newPoint)
|
||||
{
|
||||
Undo.RecordObject(star, "Move");
|
||||
star.points[i].position = Quaternion.Inverse(rotation) *
|
||||
starTransform.InverseTransformPoint(newPoint);
|
||||
//star.UpdateMesh();
|
||||
star.SetAllDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[CustomPropertyDrawer(typeof(ColorPoint))]
|
||||
public class ColorPointDrawer : PropertyDrawer
|
||||
{
|
||||
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
return label != GUIContent.none && Screen.width < 333 ? (16f + 18f) : 16f;
|
||||
}
|
||||
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
int oldIndentLevel = EditorGUI.indentLevel;
|
||||
label = EditorGUI.BeginProperty(position, label, property);
|
||||
Rect contentPosition = EditorGUI.PrefixLabel(position, label);
|
||||
if (position.height > 16f)
|
||||
{
|
||||
position.height = 16f;
|
||||
EditorGUI.indentLevel += 1;
|
||||
contentPosition = EditorGUI.IndentedRect(position);
|
||||
contentPosition.y += 18f;
|
||||
}
|
||||
contentPosition.width *= 0.75f;
|
||||
EditorGUI.indentLevel = 0;
|
||||
EditorGUI.PropertyField(contentPosition, property.FindPropertyRelative("position"), GUIContent.none);
|
||||
contentPosition.x += contentPosition.width;
|
||||
contentPosition.width /= 3f;
|
||||
EditorGUIUtility.labelWidth = 14f;
|
||||
EditorGUI.PropertyField(contentPosition, property.FindPropertyRelative("color"), new GUIContent("C"));
|
||||
EditorGUI.EndProperty();
|
||||
EditorGUI.indentLevel = oldIndentLevel;
|
||||
}
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum EditorListOption
|
||||
{
|
||||
None = 0,
|
||||
ListSize = 1,
|
||||
ListLabel = 2,
|
||||
ElementLabels = 4,
|
||||
Buttons = 8,
|
||||
Default = ListSize | ListLabel | ElementLabels,
|
||||
NoElementLabels = ListSize | ListLabel,
|
||||
All = Default | Buttons
|
||||
}
|
||||
|
||||
public static class EditorList
|
||||
{
|
||||
|
||||
private static GUIContent
|
||||
moveButtonContent = new GUIContent("\u21b4", "move down"),
|
||||
duplicateButtonContent = new GUIContent("+", "duplicate"),
|
||||
deleteButtonContent = new GUIContent("-", "delete"),
|
||||
addButtonContent = new GUIContent("+", "add element");
|
||||
|
||||
private static GUILayoutOption miniButtonWidth = GUILayout.Width(20f);
|
||||
|
||||
public static void Show(SerializedProperty list, EditorListOption options = EditorListOption.Default)
|
||||
{
|
||||
if (!list.isArray)
|
||||
{
|
||||
EditorGUILayout.HelpBox(list.name + " is neither an array nor a list!", MessageType.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
bool
|
||||
showListLabel = (options & EditorListOption.ListLabel) != 0,
|
||||
showListSize = (options & EditorListOption.ListSize) != 0;
|
||||
|
||||
if (showListLabel)
|
||||
{
|
||||
EditorGUILayout.PropertyField(list);
|
||||
EditorGUI.indentLevel += 1;
|
||||
}
|
||||
if (!showListLabel || list.isExpanded)
|
||||
{
|
||||
SerializedProperty size = list.FindPropertyRelative("Array.size");
|
||||
if (showListSize)
|
||||
{
|
||||
EditorGUILayout.PropertyField(size);
|
||||
}
|
||||
if (size.hasMultipleDifferentValues)
|
||||
{
|
||||
EditorGUILayout.HelpBox("Not showing lists with different sizes.", MessageType.Info);
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowElements(list, options);
|
||||
}
|
||||
}
|
||||
if (showListLabel)
|
||||
{
|
||||
EditorGUI.indentLevel -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
private static void ShowElements(SerializedProperty list, EditorListOption options)
|
||||
{
|
||||
bool
|
||||
showElementLabels = (options & EditorListOption.ElementLabels) != 0,
|
||||
showButtons = (options & EditorListOption.Buttons) != 0;
|
||||
|
||||
for (int i = 0; i < list.arraySize; i++)
|
||||
{
|
||||
if (showButtons)
|
||||
{
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
}
|
||||
if (showElementLabels)
|
||||
{
|
||||
EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i));
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i), GUIContent.none);
|
||||
}
|
||||
if (showButtons)
|
||||
{
|
||||
ShowButtons(list, i);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
}
|
||||
if (showButtons && list.arraySize == 0 && GUILayout.Button(addButtonContent, EditorStyles.miniButton))
|
||||
{
|
||||
list.arraySize += 1;
|
||||
}
|
||||
}
|
||||
|
||||
private static void ShowButtons(SerializedProperty list, int index)
|
||||
{
|
||||
if (GUILayout.Button(moveButtonContent, EditorStyles.miniButtonLeft, miniButtonWidth))
|
||||
{
|
||||
list.MoveArrayElement(index, index + 1);
|
||||
}
|
||||
if (GUILayout.Button(duplicateButtonContent, EditorStyles.miniButtonMid, miniButtonWidth))
|
||||
{
|
||||
list.InsertArrayElementAtIndex(index);
|
||||
}
|
||||
if (GUILayout.Button(deleteButtonContent, EditorStyles.miniButtonRight, miniButtonWidth))
|
||||
{
|
||||
int oldSize = list.arraySize;
|
||||
list.DeleteArrayElementAtIndex(index);
|
||||
if (list.arraySize == oldSize)
|
||||
{
|
||||
list.DeleteArrayElementAtIndex(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 37f3ddf5209f1cc46ae4a9ec159f7fd9
|
||||
timeCreated: 1452005631
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9025de4c28a4f224e942989ab0d17137
|
||||
folderAsset: yes
|
||||
timeCreated: 1473357182
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3928670b50ad9a842ab163d5236d4c03
|
||||
folderAsset: yes
|
||||
timeCreated: 1473357182
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,5 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4769eefffce5c0b4181e4f9d1587b9f4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
userData:
|
|
@ -1,4 +1,6 @@
|
|||
Shader "UI Extensions/SoftMaskShaderText"
|
||||
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
|
||||
|
||||
Shader "UI Extensions/SoftMaskShaderText"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
|
@ -102,7 +104,7 @@
|
|||
v2f OUT;
|
||||
OUT.worldPosition = IN.vertex;
|
||||
OUT.vertex = mul(UNITY_MATRIX_MVP, OUT.worldPosition);
|
||||
OUT.worldPosition2 = mul(_Object2World, IN.vertex);
|
||||
OUT.worldPosition2 = mul(unity_ObjectToWorld, IN.vertex);
|
||||
|
||||
OUT.texcoord = IN.texcoord;
|
||||
|
||||
|
|
Loading…
Reference in New Issue