优化侧边栏菜单 UI细节

This commit is contained in:
ALIENJACK 2024-12-04 23:15:05 +08:00
parent 0b7d6c640d
commit 31099c1900
81 changed files with 6544 additions and 5445 deletions

View File

@ -1,5 +1,4 @@
using AxibugEmuOnline.Client;
using System;
using UnityEditor;
using UnityEngine;
namespace AxibugEmuOnline.Editors

View File

@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using System.Collections.Generic;
namespace AxiReplay
{

View File

@ -4,7 +4,7 @@ using System.Text;
namespace AxiReplay
{
[StructLayout(LayoutKind.Explicit,Size = 44)]
[StructLayout(LayoutKind.Explicit, Size = 44)]
public struct ReplayHandler
{
[FieldOffset(0)]
@ -51,7 +51,7 @@ namespace AxiReplay
FM32IP32,
FM32IP64,
}
public static void GetStringByteData(string str,out byte[] data,out int lenghtWithEnd,Encoding encoding)
public static void GetStringByteData(string str, out byte[] data, out int lenghtWithEnd, Encoding encoding)
{
data = encoding.GetBytes(str);
lenghtWithEnd = data.Length + 1;

View File

@ -128,14 +128,14 @@ namespace AxiReplay
/// </summary>
public bool NextFrame(out ReplayStep data)
{
return TakeFrame(1,out data);
return TakeFrame(1, out data);
}
/// <summary>
/// 往前推进指定帧数量的Input (返回是否变化)
/// </summary>
/// <param name="addFrame"></param>
public bool TakeFrame(int addFrame,out ReplayStep data)
public bool TakeFrame(int addFrame, out ReplayStep data)
{
bool Changed = false;
mCurrFrame += addFrame;

View File

@ -57,7 +57,7 @@ namespace AxiReplay
/// 往前推进帧的,指定帧下标
/// </summary>
/// <param name="frameInput"></param>
public void NextFramebyFrameIdx(int FrameID,UInt64 frameInput)
public void NextFramebyFrameIdx(int FrameID, UInt64 frameInput)
{
TakeFrame(FrameID - byFrameIdx, frameInput);
byFrameIdx = FrameID;
@ -140,7 +140,7 @@ namespace AxiReplay
temp.Add($"CreateTime => {handler.CreateTime}");
temp.Add($"AllFrame => {handler.AllFrame}");
temp.Add($"SingleLenght => {handler.SingleLenght}");
dbgList.InsertRange(0,temp);
dbgList.InsertRange(0, temp);
File.WriteAllLines(dumppath, dbgList);
}
}

View File

@ -27,10 +27,10 @@ namespace Coffee.UIExtensions
#if TMP_PRESENT
static readonly List<Vector2> s_Uv0 = new List<Vector2> (4096);
static readonly List<Vector2> s_Uv1 = new List<Vector2> (4096);
#if UNITY_2017_1_OR_NEWER
#if UNITY_2017_1_OR_NEWER
static readonly List<Vector2> s_Uv2 = new List<Vector2> (4096);
static readonly List<Vector2> s_Uv3 = new List<Vector2> (4096);
#endif
#endif
static readonly List<Vector3> s_Vertices = new List<Vector3> (4096);
static readonly List<int> s_Indices = new List<int> (4096);
static readonly List<Vector3> s_Normals = new List<Vector3> (4096);
@ -42,7 +42,7 @@ namespace Coffee.UIExtensions
static readonly List<UIVertex> s_UIVertices = new List<UIVertex> (4096);
static readonly List<BaseMeshEffect> s_TmpEffects = new List<BaseMeshEffect>(4);
#endif
static readonly Material [] s_EmptyMaterials = new Material [0];
static readonly Material[] s_EmptyMaterials = new Material[0];
//################################
@ -51,12 +51,12 @@ namespace Coffee.UIExtensions
/// <summary>
/// The Graphic attached to this GameObject.
/// </summary>
public Graphic graphic { get { Initialize (); return _graphic; } }
public Graphic graphic { get { Initialize(); return _graphic; } }
/// <summary>
/// The CanvasRenderer attached to this GameObject.
/// </summary>
public CanvasRenderer canvasRenderer { get { Initialize (); return _canvasRenderer; } }
public CanvasRenderer canvasRenderer { get { Initialize(); return _canvasRenderer; } }
#if TMP_PRESENT
/// <summary>
@ -68,7 +68,7 @@ namespace Coffee.UIExtensions
/// <summary>
/// The RectTransform attached to this GameObject.
/// </summary>
public RectTransform rectTransform { get { Initialize (); return _rectTransform; } }
public RectTransform rectTransform { get { Initialize(); return _rectTransform; } }
#if UNITY_5_6_OR_NEWER
/// <summary>
@ -146,7 +146,7 @@ namespace Coffee.UIExtensions
#endif
if (graphic)
{
_materials [0] = graphic.material;
_materials[0] = graphic.material;
return _materials;
}
else
@ -160,7 +160,7 @@ namespace Coffee.UIExtensions
/// Call used to modify mesh. (legacy)
/// </summary>
/// <param name="mesh">Mesh.</param>
public virtual void ModifyMesh (Mesh mesh)
public virtual void ModifyMesh(Mesh mesh)
{
}
@ -168,14 +168,14 @@ namespace Coffee.UIExtensions
/// Call used to modify mesh.
/// </summary>
/// <param name="vh">VertexHelper.</param>
public virtual void ModifyMesh (VertexHelper vh)
public virtual void ModifyMesh(VertexHelper vh)
{
}
/// <summary>
/// Mark the vertices as dirty.
/// </summary>
public virtual void SetVerticesDirty ()
public virtual void SetVerticesDirty()
{
#if TMP_PRESENT
if (textMeshPro)
@ -213,11 +213,11 @@ namespace Coffee.UIExtensions
#endif
if (graphic)
{
graphic.SetVerticesDirty ();
graphic.SetVerticesDirty();
}
}
public void ShowTMProWarning (Shader shader, Shader mobileShader, Shader spriteShader, System.Action<Material> onCreatedMaterial)
public void ShowTMProWarning(Shader shader, Shader mobileShader, Shader spriteShader, System.Action<Material> onCreatedMaterial)
{
#if UNITY_EDITOR && TMP_PRESENT
if(!textMeshPro || !textMeshPro.fontSharedMaterial)
@ -324,14 +324,14 @@ namespace Coffee.UIExtensions
protected virtual bool isLegacyMeshModifier { get { return false; } }
protected virtual void Initialize ()
protected virtual void Initialize()
{
if (!_initialized)
{
_initialized = true;
_graphic = _graphic ?? GetComponent<Graphic> ();
_canvasRenderer = _canvasRenderer ?? GetComponent<CanvasRenderer> ();
_rectTransform = _rectTransform ?? GetComponent<RectTransform> ();
_graphic = _graphic ?? GetComponent<Graphic>();
_canvasRenderer = _canvasRenderer ?? GetComponent<CanvasRenderer>();
_rectTransform = _rectTransform ?? GetComponent<RectTransform>();
#if TMP_PRESENT
_textMeshPro = _textMeshPro ?? GetComponent<TMP_Text> ();
#endif
@ -341,10 +341,10 @@ namespace Coffee.UIExtensions
/// <summary>
/// This function is called when the object becomes enabled and active.
/// </summary>
protected override void OnEnable ()
protected override void OnEnable()
{
_initialized = false;
SetVerticesDirty ();
SetVerticesDirty();
#if TMP_PRESENT
if (textMeshPro)
{
@ -366,7 +366,7 @@ namespace Coffee.UIExtensions
var canvas = graphic.canvas;
if (canvas && (canvas.additionalShaderChannels & channels) != channels)
{
Debug.LogWarningFormat (this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType ().Name, channels);
Debug.LogWarningFormat(this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType().Name, channels);
}
}
#endif
@ -375,12 +375,12 @@ namespace Coffee.UIExtensions
/// <summary>
/// This function is called when the behaviour becomes disabled () or inactive.
/// </summary>
protected override void OnDisable ()
protected override void OnDisable()
{
#if TMP_PRESENT
TMPro_EventManager.TEXT_CHANGED_EVENT.Remove (OnTextChanged);
#endif
SetVerticesDirty ();
SetVerticesDirty();
#if UNITY_EDITOR && TMP_PRESENT
if (graphic && textMeshPro)
@ -394,7 +394,7 @@ namespace Coffee.UIExtensions
/// <summary>
/// LateUpdate is called every frame, if the Behaviour is enabled.
/// </summary>
protected virtual void LateUpdate ()
protected virtual void LateUpdate()
{
#if TMP_PRESENT
if (textMeshPro)
@ -411,18 +411,18 @@ namespace Coffee.UIExtensions
/// <summary>
/// Callback for when properties have been changed by animation.
/// </summary>
protected override void OnDidApplyAnimationProperties ()
protected override void OnDidApplyAnimationProperties()
{
SetVerticesDirty ();
SetVerticesDirty();
}
#if UNITY_EDITOR
/// <summary>
/// This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
/// </summary>
protected override void OnValidate ()
protected override void OnValidate()
{
SetVerticesDirty ();
SetVerticesDirty();
}
#endif
@ -434,7 +434,7 @@ namespace Coffee.UIExtensions
CanvasRenderer _canvasRenderer;
RectTransform _rectTransform;
Graphic _graphic;
Material [] _materials = new Material [1];
Material[] _materials = new Material[1];
#if TMP_PRESENT
bool _isTextMeshProActive;
@ -532,12 +532,12 @@ namespace Coffee.UIExtensions
mesh.GetTangents (s_Tangents);
mesh.GetIndices (s_Indices, 0);
#if UNITY_2017_1_OR_NEWER
#if UNITY_2017_1_OR_NEWER
mesh.GetUVs (2, s_Uv2);
mesh.GetUVs (3, s_Uv3);
bool useUv2 = 0 < s_Uv2.Count;
bool useUv3 = 0 < s_Uv3.Count;
#endif
#endif
s_UIVertices.Clear();
UIVertex v = default(UIVertex);
@ -547,12 +547,12 @@ namespace Coffee.UIExtensions
v.color = s_Colors[i];
v.uv0 = s_Uv0[i];
v.uv1 = s_Uv1[i];
#if UNITY_2017_1_OR_NEWER
#if UNITY_2017_1_OR_NEWER
if (useUv2 && i < s_Uv2.Count)
v.uv2 = s_Uv2[i];
if (useUv3 && i < s_Uv3.Count)
v.uv3 = s_Uv3[i];
#endif
#endif
v.normal = s_Normals[i];
v.tangent = s_Tangents[i];

View File

@ -16,12 +16,12 @@ namespace Coffee.UIExtensions
public static class EffectAreaExtensions
{
static readonly Rect rectForCharacter = new Rect(0, 0, 1, 1);
static readonly Vector2 [] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
/// <summary>
/// Gets effect for area.
/// </summary>
public static Rect GetEffectArea (this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1)
public static Rect GetEffectArea(this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1)
{
Rect rect = default(Rect);
switch (area)
@ -34,7 +34,7 @@ namespace Coffee.UIExtensions
break;
case EffectArea.Fit:
// Fit to contents.
UIVertex vertex = default (UIVertex);
UIVertex vertex = default(UIVertex);
float xMin = float.MaxValue;
float yMin = float.MaxValue;
float xMax = float.MinValue;
@ -49,7 +49,7 @@ namespace Coffee.UIExtensions
xMax = Mathf.Max(xMax, x);
yMax = Mathf.Max(yMax, y);
}
rect.Set (xMin, yMin, xMax - xMin, yMax - yMin);
rect.Set(xMin, yMin, xMax - xMin, yMax - yMin);
break;
default:
rect = rectangle;
@ -57,7 +57,7 @@ namespace Coffee.UIExtensions
}
if(0 < aspectRatio)
if (0 < aspectRatio)
{
if (rect.width < rect.height)
{
@ -74,34 +74,34 @@ namespace Coffee.UIExtensions
/// <summary>
/// Gets position factor for area.
/// </summary>
public static void GetPositionFactor (this EffectArea area, int index, Rect rect, Vector2 position, bool isText, bool isTMPro, out float x, out float y)
public static void GetPositionFactor(this EffectArea area, int index, Rect rect, Vector2 position, bool isText, bool isTMPro, out float x, out float y)
{
if (isText && area == EffectArea.Character)
{
index = isTMPro ? (index + 3) % 4 : index % 4;
x = splitedCharacterPosition [index].x;
y = splitedCharacterPosition [index].y;
x = splitedCharacterPosition[index].x;
y = splitedCharacterPosition[index].y;
}
else if (area == EffectArea.Fit)
{
x = Mathf.Clamp01 ((position.x - rect.xMin) / rect.width);
y = Mathf.Clamp01 ((position.y - rect.yMin) / rect.height);
x = Mathf.Clamp01((position.x - rect.xMin) / rect.width);
y = Mathf.Clamp01((position.y - rect.yMin) / rect.height);
}
else
{
x = Mathf.Clamp01 (position.x / rect.width + 0.5f);
y = Mathf.Clamp01 (position.y / rect.height + 0.5f);
x = Mathf.Clamp01(position.x / rect.width + 0.5f);
y = Mathf.Clamp01(position.y / rect.height + 0.5f);
}
}
/// <summary>
/// Normalize vertex position by local matrix.
/// </summary>
public static void GetNormalizedFactor (this EffectArea area, int index, Matrix2x3 matrix, Vector2 position, bool isText, out Vector2 nomalizedPos)
public static void GetNormalizedFactor(this EffectArea area, int index, Matrix2x3 matrix, Vector2 position, bool isText, out Vector2 nomalizedPos)
{
if (isText && area == EffectArea.Character)
{
nomalizedPos = matrix * splitedCharacterPosition [(index + 3) % 4];
nomalizedPos = matrix * splitedCharacterPosition[(index + 3) % 4];
}
else
{

View File

@ -1,6 +1,6 @@
using UnityEngine;
using System;
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Coffee.UIExtensions
{
@ -31,7 +31,7 @@ namespace Coffee.UIExtensions
/// Gets or sets the duration.
/// </summary>
[Tooltip("Duration.")]
[Range(0.01f,10f)]
[Range(0.01f, 10f)]
public float duration = 1;
/// <summary>
@ -44,7 +44,7 @@ namespace Coffee.UIExtensions
/// Gets or sets the delay before looping.
/// </summary>
[Tooltip("Delay before looping.")]
[Range(0f,10f)]
[Range(0f, 10f)]
public float loopDelay = 0;
/// <summary>

View File

@ -1,6 +1,6 @@
#if UNITY_EDITOR
using System.IO;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using UnityEditor;
@ -114,7 +114,7 @@ namespace Coffee.UIExtensions
s_StringBuilder.Append("[Separated] ");
#endif
s_StringBuilder.Append(Path.GetFileName(shader.name));
foreach (object mode in append.Where(x=>0<(int)x))
foreach (object mode in append.Where(x => 0 < (int)x))
{
s_StringBuilder.Append("-");
s_StringBuilder.Append(mode.ToString());

View File

@ -22,7 +22,7 @@ namespace Coffee.UIExtensions
m12 = dx * sin + dy * cos + center;
}
public static Vector2 operator*(Matrix2x3 m, Vector2 v)
public static Vector2 operator *(Matrix2x3 m, Vector2 v)
{
return new Vector2(
(m.m00 * v.x) + (m.m01 * v.y) + m.m02,

View File

@ -1,6 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
public static class Packer
{

View File

@ -1,8 +1,6 @@
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
using System;
namespace Coffee.UIExtensions
{
@ -55,7 +53,7 @@ namespace Coffee.UIExtensions
if (target.parameterIndex <= 0 && 0 < _stack.Count)
{
target.parameterIndex = _stack.Pop();
// Debug.LogFormat("<color=green>@@@ Register {0} : {1}</color>", target, target.parameterIndex);
// Debug.LogFormat("<color=green>@@@ Register {0} : {1}</color>", target, target.parameterIndex);
}
}
@ -67,7 +65,7 @@ namespace Coffee.UIExtensions
{
if (0 < target.parameterIndex)
{
// Debug.LogFormat("<color=red>@@@ Unregister {0} : {1}</color>", target, target.parameterIndex);
// Debug.LogFormat("<color=red>@@@ Unregister {0} : {1}</color>", target, target.parameterIndex);
_stack.Push(target.parameterIndex);
target.parameterIndex = 0;
}

View File

@ -52,7 +52,7 @@ namespace Coffee.UIExtensions
/// </summary>
protected override void OnValidate()
{
base.OnValidate ();
base.OnValidate();
var mat = GetMaterial();
if (m_EffectMaterial != mat)
@ -62,8 +62,8 @@ namespace Coffee.UIExtensions
}
ModifyMaterial();
SetVerticesDirty ();
SetDirty ();
SetVerticesDirty();
SetDirty();
}
public void OnBeforeSerialize()
@ -123,7 +123,7 @@ namespace Coffee.UIExtensions
/// </summary>
protected override void OnEnable()
{
base.OnEnable ();
base.OnEnable();
if (ptex != null)
{
@ -139,9 +139,9 @@ namespace Coffee.UIExtensions
/// </summary>
protected override void OnDisable()
{
base.OnDisable ();
base.OnDisable();
ModifyMaterial ();
ModifyMaterial();
SetVerticesDirty();
if (ptex != null)
{

View File

@ -1,5 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
@ -7,59 +6,59 @@ namespace Coffee.UIExtensions.Editors
{
public class BaseMeshEffectEditor : Editor
{
List<MaterialEditor> _materialEditors = new List<MaterialEditor> ();
List<MaterialEditor> _materialEditors = new List<MaterialEditor>();
protected virtual void OnEnable ()
protected virtual void OnEnable()
{
ClearMaterialEditors ();
ClearMaterialEditors();
}
protected virtual void OnDisable ()
protected virtual void OnDisable()
{
ClearMaterialEditors ();
ClearMaterialEditors();
}
void ClearMaterialEditors ()
void ClearMaterialEditors()
{
foreach (var e in _materialEditors)
{
if (e)
{
DestroyImmediate (e);
DestroyImmediate(e);
}
}
_materialEditors.Clear ();
_materialEditors.Clear();
}
protected void ShowMaterialEditors (Material [] materials, int startIndex, int count)
protected void ShowMaterialEditors(Material[] materials, int startIndex, int count)
{
for (int i = 0; i < count; i++)
{
if (_materialEditors.Count == i)
{
_materialEditors.Add (null);
_materialEditors.Add(null);
}
var mat = materials [startIndex + i];
var editor = _materialEditors [i];
var mat = materials[startIndex + i];
var editor = _materialEditors[i];
if (editor && editor.target != mat)
{
DestroyImmediate (editor);
DestroyImmediate(editor);
editor = null;
}
if (!editor)
{
editor = _materialEditors [i] = Editor.CreateEditor (mat) as MaterialEditor;
editor = _materialEditors[i] = Editor.CreateEditor(mat) as MaterialEditor;
}
editor.DrawHeader ();
editor.OnInspectorGUI ();
editor.DrawHeader();
editor.OnInspectorGUI();
}
}
protected void ShowCanvasChannelsWarning ()
protected void ShowCanvasChannelsWarning()
{
BaseMeshEffect effect = target as BaseMeshEffect;
if (!effect || !effect.graphic)
@ -72,13 +71,13 @@ namespace Coffee.UIExtensions.Editors
var canvas = effect.graphic.canvas;
if (canvas && (canvas.additionalShaderChannels & channels) != channels)
{
EditorGUILayout.BeginHorizontal ();
EditorGUILayout.HelpBox (string.Format ("Enable {1} of Canvas.additionalShaderChannels to use {0}.", effect.GetType ().Name, channels), MessageType.Warning);
if (GUILayout.Button ("Fix"))
EditorGUILayout.BeginHorizontal();
EditorGUILayout.HelpBox(string.Format("Enable {1} of Canvas.additionalShaderChannels to use {0}.", effect.GetType().Name, channels), MessageType.Warning);
if (GUILayout.Button("Fix"))
{
canvas.additionalShaderChannels |= channels;
}
EditorGUILayout.EndHorizontal ();
EditorGUILayout.EndHorizontal();
}
#endif
}

View File

@ -1,10 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEditor;
using UnityEngine;
namespace Coffee.UIExtensions.Editors
{
@ -24,7 +22,7 @@ namespace Coffee.UIExtensions.Editors
};
#if UNITY_EDITOR
#if UNITY_EDITOR
[UnityEditor.InitializeOnLoadMethod]
static void RemoveFiles()
{
@ -48,6 +46,6 @@ namespace Coffee.UIExtensions.Editors
UnityEngine.Debug.Log(sb);
}
}
#endif
#endif
}
}

View File

@ -1,9 +1,6 @@
using UnityEditor;
using UnityEditorInternal;
using System.Linq;
using UnityEditor;
using UnityEngine;
using System.Linq;
using System.Collections.Generic;
using UnityEngine.UI;
namespace Coffee.UIExtensions.Editors
{
@ -24,7 +21,7 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
protected override void OnEnable()
{
base.OnEnable ();
base.OnEnable();
_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
_spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
@ -45,11 +42,11 @@ namespace Coffee.UIExtensions.Editors
_spLoopDelay = player.FindPropertyRelative("loopDelay");
_spUpdateMode = player.FindPropertyRelative("updateMode");
s_NoiseTexId = Shader.PropertyToID ("_NoiseTex");
s_NoiseTexId = Shader.PropertyToID("_NoiseTex");
_shader = Shader.Find ("TextMeshPro/Distance Field (UIDissolve)");
_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIDissolve)");
_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIDissolve)");
_shader = Shader.Find("TextMeshPro/Distance Field (UIDissolve)");
_mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIDissolve)");
_spriteShader = Shader.Find("TextMeshPro/Sprite (UIDissolve)");
}
/// <summary>
@ -57,25 +54,25 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
public override void OnInspectorGUI()
{
foreach (var d in targets.Cast<UIDissolve> ())
foreach (var d in targets.Cast<UIDissolve>())
{
var mat = d.material;
if (d.isTMPro && mat && mat.HasProperty(s_NoiseTexId))
{
ColorMode colorMode =
mat.IsKeywordEnabled ("ADD") ? ColorMode.Add
: mat.IsKeywordEnabled ("SUBTRACT") ? ColorMode.Subtract
: mat.IsKeywordEnabled ("FILL") ? ColorMode.Fill
mat.IsKeywordEnabled("ADD") ? ColorMode.Add
: mat.IsKeywordEnabled("SUBTRACT") ? ColorMode.Subtract
: mat.IsKeywordEnabled("FILL") ? ColorMode.Fill
: ColorMode.Multiply;
Texture noiseTexture = mat.GetTexture(s_NoiseTexId);
if (d.colorMode != colorMode || d.noiseTexture != noiseTexture)
{
var so = new SerializedObject (d);
so.FindProperty ("m_ColorMode").intValue = (int)colorMode;
so.FindProperty ("m_NoiseTexture").objectReferenceValue = noiseTexture;
so.ApplyModifiedProperties ();
var so = new SerializedObject(d);
so.FindProperty("m_ColorMode").intValue = (int)colorMode;
so.FindProperty("m_NoiseTexture").objectReferenceValue = noiseTexture;
so.ApplyModifiedProperties();
}
}
}
@ -98,10 +95,10 @@ namespace Coffee.UIExtensions.Editors
EditorGUILayout.PropertyField(_spColor);
bool isAnyTMPro = targets.Cast<UIDissolve>().Any(x => x.isTMPro);
using (new EditorGUI.DisabledGroupScope (isAnyTMPro))
using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
{
EditorGUILayout.PropertyField (_spColorMode);
EditorGUILayout.PropertyField (_spNoiseTexture);
EditorGUILayout.PropertyField(_spColorMode);
EditorGUILayout.PropertyField(_spNoiseTexture);
}
//================
@ -139,16 +136,17 @@ namespace Coffee.UIExtensions.Editors
}
var c = target as UIDissolve;
c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {
if(mat.shader == _spriteShader)
c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat =>
{
if (mat.shader == _spriteShader)
{
mat.shaderKeywords = c.material.shaderKeywords;
mat.SetTexture ("_NoiseTex", c.material.GetTexture ("_NoiseTex"));
mat.SetTexture("_NoiseTex", c.material.GetTexture("_NoiseTex"));
}
});
ShowCanvasChannelsWarning ();
ShowCanvasChannelsWarning();
ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
serializedObject.ApplyModifiedProperties();

View File

@ -1,8 +1,7 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
using System;
using System.Linq;
using System;
using UnityEditor;
using UnityEngine;
namespace Coffee.UIExtensions.Editors
{
@ -13,7 +12,7 @@ namespace Coffee.UIExtensions.Editors
[CanEditMultipleObjects]
public class UIEffectEditor : BaseMeshEffectEditor
{
static readonly GUIContent contentEffectColor = new GUIContent ("Effect Color");
static readonly GUIContent contentEffectColor = new GUIContent("Effect Color");
//################################
@ -59,19 +58,21 @@ namespace Coffee.UIExtensions.Editors
EditorGUI.indentLevel++;
SerializedProperty spColor = serializedObject.FindProperty(colorProperty);
if (spColor == null && serializedObject.targetObject is UIEffect) {
spColor = new SerializedObject (serializedObject.targetObjects.Select(x=>(x as UIEffect).targetGraphic).ToArray()).FindProperty(colorProperty);
if (spColor == null && serializedObject.targetObject is UIEffect)
{
spColor = new SerializedObject(serializedObject.targetObjects.Select(x => (x as UIEffect).targetGraphic).ToArray()).FindProperty(colorProperty);
}
EditorGUI.BeginChangeCheck ();
EditorGUI.BeginChangeCheck();
EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues;
#if UNITY_2018_1_OR_NEWER
spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false);
spColor.colorValue = EditorGUILayout.ColorField(contentEffectColor, spColor.colorValue, true, false, false);
#else
spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false, null);
#endif
if (EditorGUI.EndChangeCheck ()) {
spColor.serializedObject.ApplyModifiedProperties ();
if (EditorGUI.EndChangeCheck())
{
spColor.serializedObject.ApplyModifiedProperties();
}
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor"));
@ -102,14 +103,14 @@ namespace Coffee.UIExtensions.Editors
int GetEnum<T>(Material mat)
{
Type type = typeof(T);
string[] names = System.Enum.GetNames (type);
int[] values = System.Enum.GetValues (type) as int[];
string[] names = System.Enum.GetNames(type);
int[] values = System.Enum.GetValues(type) as int[];
int mode = 0;
for(int i=0;i<names.Length;i++)
for (int i = 0; i < names.Length; i++)
{
if (mat.IsKeywordEnabled (names [i].ToUpper()))
mode = values [i];
if (mat.IsKeywordEnabled(names[i].ToUpper()))
mode = values[i];
}
return mode;
}
@ -120,23 +121,23 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
public override void OnInspectorGUI()
{
foreach (var d in targets.Cast<UIEffect> ())
foreach (var d in targets.Cast<UIEffect>())
{
var mat = d.material;
if (d.isTMPro && mat)
{
var so = new SerializedObject (d);
EffectMode eMode = (EffectMode)GetEnum<EffectMode> (mat);
ColorMode cMode = (ColorMode)GetEnum<ColorMode> (mat);
BlurMode bMode = (BlurMode)GetEnum<BlurMode> (mat);
var so = new SerializedObject(d);
EffectMode eMode = (EffectMode)GetEnum<EffectMode>(mat);
ColorMode cMode = (ColorMode)GetEnum<ColorMode>(mat);
BlurMode bMode = (BlurMode)GetEnum<BlurMode>(mat);
bool aBlur = mat.IsKeywordEnabled("EX");
if (d.effectMode != eMode || d.colorMode != cMode || d.blurMode != bMode || so.FindProperty ("m_AdvancedBlur").boolValue != aBlur)
if (d.effectMode != eMode || d.colorMode != cMode || d.blurMode != bMode || so.FindProperty("m_AdvancedBlur").boolValue != aBlur)
{
so.FindProperty ("m_EffectMode").intValue = (int)eMode;
so.FindProperty ("m_ColorMode").intValue = (int)cMode;
so.FindProperty ("m_BlurMode").intValue = (int)bMode;
so.FindProperty ("m_AdvancedBlur").boolValue = aBlur;
so.ApplyModifiedProperties ();
so.FindProperty("m_EffectMode").intValue = (int)eMode;
so.FindProperty("m_ColorMode").intValue = (int)cMode;
so.FindProperty("m_BlurMode").intValue = (int)bMode;
so.FindProperty("m_AdvancedBlur").boolValue = aBlur;
so.ApplyModifiedProperties();
}
}
}
@ -182,19 +183,21 @@ namespace Coffee.UIExtensions.Editors
EditorGUI.indentLevel++;
SerializedProperty spColor = serializedObject.FindProperty("m_Color");
if (spColor == null && serializedObject.targetObject is UIEffect) {
spColor = new SerializedObject (serializedObject.targetObjects.Select(x=>(x as UIEffect).targetGraphic).ToArray()).FindProperty(!isAnyTMPro ? "m_Color" : "m_fontColor");
if (spColor == null && serializedObject.targetObject is UIEffect)
{
spColor = new SerializedObject(serializedObject.targetObjects.Select(x => (x as UIEffect).targetGraphic).ToArray()).FindProperty(!isAnyTMPro ? "m_Color" : "m_fontColor");
}
EditorGUI.BeginChangeCheck ();
EditorGUI.BeginChangeCheck();
EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues;
#if UNITY_2018_1_OR_NEWER
spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false);
#else
#if UNITY_2018_1_OR_NEWER
spColor.colorValue = EditorGUILayout.ColorField(contentEffectColor, spColor.colorValue, true, false, false);
#else
spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false, null);
#endif
if (EditorGUI.EndChangeCheck ()) {
spColor.serializedObject.ApplyModifiedProperties ();
#endif
if (EditorGUI.EndChangeCheck())
{
spColor.serializedObject.ApplyModifiedProperties();
}
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor"));
@ -222,10 +225,10 @@ namespace Coffee.UIExtensions.Editors
serializedObject.ApplyModifiedProperties();
c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {});
ShowCanvasChannelsWarning ();
c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => { });
ShowCanvasChannelsWarning();
ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
serializedObject.ApplyModifiedProperties();
}
@ -235,11 +238,11 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
protected override void OnEnable()
{
base.OnEnable ();
base.OnEnable();
_shader = Shader.Find ("TextMeshPro/Distance Field (UIEffect)");
_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIEffect)");
_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIEffect)");
_shader = Shader.Find("TextMeshPro/Distance Field (UIEffect)");
_mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIEffect)");
_spriteShader = Shader.Find("TextMeshPro/Sprite (UIEffect)");
}
//################################

View File

@ -1,6 +1,5 @@
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
namespace Coffee.UIExtensions.Editors
{

View File

@ -1,7 +1,5 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
using System.Linq;
namespace Coffee.UIExtensions.Editors
{
@ -20,7 +18,7 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
protected override void OnEnable()
{
base.OnEnable ();
base.OnEnable();
_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
_spTargetColor = serializedObject.FindProperty("m_TargetColor");
@ -29,9 +27,9 @@ namespace Coffee.UIExtensions.Editors
_spSaturation = serializedObject.FindProperty("m_Saturation");
_spValue = serializedObject.FindProperty("m_Value");
_shader = Shader.Find ("TextMeshPro/Distance Field (UIHsvModifier)");
_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIHsvModifier)");
_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIHsvModifier)");
_shader = Shader.Find("TextMeshPro/Distance Field (UIHsvModifier)");
_mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIHsvModifier)");
_spriteShader = Shader.Find("TextMeshPro/Sprite (UIHsvModifier)");
}
@ -59,10 +57,10 @@ namespace Coffee.UIExtensions.Editors
EditorGUILayout.PropertyField(_spValue);
var c = target as UIHsvModifier;
c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {});
ShowCanvasChannelsWarning ();
c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => { });
ShowCanvasChannelsWarning();
ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
serializedObject.ApplyModifiedProperties();
}

View File

@ -1,6 +1,4 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
namespace Coffee.UIExtensions.Editors
{

View File

@ -1,7 +1,5 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
using System.Linq;
namespace Coffee.UIExtensions.Editors
{
@ -20,7 +18,7 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
protected override void OnEnable()
{
base.OnEnable ();
base.OnEnable();
_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
_spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
@ -39,9 +37,9 @@ namespace Coffee.UIExtensions.Editors
_spUpdateMode = player.FindPropertyRelative("updateMode");
_shader = Shader.Find ("TextMeshPro/Distance Field (UIShiny)");
_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIShiny)");
_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIShiny)");
_shader = Shader.Find("TextMeshPro/Distance Field (UIShiny)");
_mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIShiny)");
_spriteShader = Shader.Find("TextMeshPro/Sprite (UIShiny)");
}
@ -102,10 +100,10 @@ namespace Coffee.UIExtensions.Editors
}
var c = target as UIShiny;
c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {});
ShowCanvasChannelsWarning ();
c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => { });
ShowCanvasChannelsWarning();
ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
serializedObject.ApplyModifiedProperties();
}

View File

@ -1,7 +1,6 @@
using UnityEditor;
using UnityEditorInternal;
using System.Linq;
using UnityEditor;
using UnityEngine;
using System.Linq;
namespace Coffee.UIExtensions.Editors
{
@ -55,32 +54,32 @@ namespace Coffee.UIExtensions.Editors
/// </summary>
public override void OnInspectorGUI()
{
foreach (var d in targets.Cast<UITransitionEffect> ())
foreach (var d in targets.Cast<UITransitionEffect>())
{
var mat = d.material;
if (d.isTMPro && mat && mat.HasProperty (s_NoiseTexId))
if (d.isTMPro && mat && mat.HasProperty(s_NoiseTexId))
{
Texture noiseTexture = mat.GetTexture (s_NoiseTexId);
Texture noiseTexture = mat.GetTexture(s_NoiseTexId);
UITransitionEffect.EffectMode mode =
mat.IsKeywordEnabled ("CUTOFF") ? UITransitionEffect.EffectMode.Cutoff
: mat.IsKeywordEnabled ("FADE") ? UITransitionEffect.EffectMode.Fade
: mat.IsKeywordEnabled ("DISSOLVE") ? UITransitionEffect.EffectMode.Dissolve
mat.IsKeywordEnabled("CUTOFF") ? UITransitionEffect.EffectMode.Cutoff
: mat.IsKeywordEnabled("FADE") ? UITransitionEffect.EffectMode.Fade
: mat.IsKeywordEnabled("DISSOLVE") ? UITransitionEffect.EffectMode.Dissolve
: (UITransitionEffect.EffectMode)0;
if (mode == (UITransitionEffect.EffectMode)0)
{
mode = UITransitionEffect.EffectMode.Cutoff;
mat.EnableKeyword ("CUTOFF");
mat.EnableKeyword("CUTOFF");
}
bool hasChanged = d.transitionTexture != noiseTexture || d.effectMode != mode;
if (hasChanged)
{
var so = new SerializedObject (d);
so.FindProperty ("m_TransitionTexture").objectReferenceValue = noiseTexture;
so.FindProperty ("m_EffectMode").intValue = (int)mode;
so.ApplyModifiedProperties ();
var so = new SerializedObject(d);
so.FindProperty("m_TransitionTexture").objectReferenceValue = noiseTexture;
so.FindProperty("m_EffectMode").intValue = (int)mode;
so.ApplyModifiedProperties();
}
}
}

View File

@ -1,7 +1,7 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Coffee.UIExtensions
{
@ -23,16 +23,16 @@ namespace Coffee.UIExtensions
//################################
[Tooltip("Current location[0-1] for dissolve effect. 0 is not dissolved, 1 is completely dissolved.")]
[FormerlySerializedAs("m_Location")]
[SerializeField] [Range(0, 1)] float m_EffectFactor = 0.5f;
[SerializeField][Range(0, 1)] float m_EffectFactor = 0.5f;
[Tooltip("Edge width.")]
[SerializeField] [Range(0, 1)] float m_Width = 0.5f;
[SerializeField][Range(0, 1)] float m_Width = 0.5f;
[Tooltip("Edge softness.")]
[SerializeField] [Range(0, 1)] float m_Softness = 0.5f;
[SerializeField][Range(0, 1)] float m_Softness = 0.5f;
[Tooltip("Edge color.")]
[SerializeField] [ColorUsage(false)] Color m_Color = new Color(0.0f, 0.25f, 1.0f);
[SerializeField][ColorUsage(false)] Color m_Color = new Color(0.0f, 0.25f, 1.0f);
[Tooltip("Edge color effect mode.")]
[SerializeField] ColorMode m_ColorMode = ColorMode.Add;
@ -54,12 +54,14 @@ namespace Coffee.UIExtensions
[FormerlySerializedAs("m_ReverseAnimation")]
[SerializeField] bool m_Reverse = false;
#pragma warning disable 0414
[Obsolete][HideInInspector]
#pragma warning disable 0414
[Obsolete]
[HideInInspector]
[SerializeField][Range(0.1f, 10)] float m_Duration = 1;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal;
#pragma warning restore 0414
#pragma warning restore 0414
//################################
@ -197,7 +199,7 @@ namespace Coffee.UIExtensions
if (m_KeepAspectRatio != value)
{
m_KeepAspectRatio = value;
SetVerticesDirty ();
SetVerticesDirty();
}
}
}
@ -310,28 +312,28 @@ namespace Coffee.UIExtensions
for (int i = 0; i < count; i++)
{
vh.PopulateUIVertex(ref vertex, i);
m_EffectArea.GetPositionFactor (i, rect, vertex.position, isText, isTMPro, out x, out y);
m_EffectArea.GetPositionFactor(i, rect, vertex.position, isText, isTMPro, out x, out y);
vertex.uv0 = new Vector2(
Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
Packer.ToFloat(x, y, normalizedIndex)
);
// if(!isTMPro)
// {
// vertex.uv0 = new Vector2(
// Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
// Packer.ToFloat(x, y, normalizedIndex)
// );
// }
// #if UNITY_5_6_OR_NEWER
// else
// {
// vertex.uv2 = new Vector2 (
// Packer.ToFloat (x, y, normalizedIndex),
// 0
// );
// }
// #endif
// if(!isTMPro)
// {
// vertex.uv0 = new Vector2(
// Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
// Packer.ToFloat(x, y, normalizedIndex)
// );
// }
// #if UNITY_5_6_OR_NEWER
// else
// {
// vertex.uv2 = new Vector2 (
// Packer.ToFloat (x, y, normalizedIndex),
// 0
// );
// }
// #endif
vh.SetUIVertex(vertex, i);
}
@ -339,9 +341,9 @@ namespace Coffee.UIExtensions
protected override void SetDirty()
{
foreach(var m in materials)
foreach (var m in materials)
{
ptex.RegisterMaterial (m);
ptex.RegisterMaterial(m);
}
ptex.SetData(this, 0, m_EffectFactor); // param1.x : location
ptex.SetData(this, 1, m_Width); // param1.y : width
@ -385,7 +387,7 @@ namespace Coffee.UIExtensions
protected override void OnDisable()
{
base.OnDisable ();
base.OnDisable();
MaterialCache.Unregister(_materialCache);
_materialCache = null;
_player.OnDisable();
@ -406,7 +408,7 @@ namespace Coffee.UIExtensions
return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_ColorMode);
}
#pragma warning disable 0612
#pragma warning disable 0612
protected override void UpgradeIfNeeded()
{
// Upgrade for v3.0.0
@ -419,7 +421,7 @@ namespace Coffee.UIExtensions
_player.updateMode = m_UpdateMode;
}
}
#pragma warning restore 0612
#pragma warning restore 0612
#endif
//################################
@ -427,6 +429,6 @@ namespace Coffee.UIExtensions
//################################
MaterialCache _materialCache = null;
EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } }
EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } }
}
}

View File

@ -5,7 +5,6 @@ using UnityEngine.UI;
using UnityEngine.Serialization;
#if UNITY_EDITOR
using System.IO;
using System.Linq;
using UnityEditor;
#endif
@ -55,22 +54,29 @@ namespace Coffee.UIExtensions
[Tooltip("Advanced blurring remove common artifacts in the blur effect for uGUI.")]
[SerializeField] bool m_AdvancedBlur = false;
#pragma warning disable 0414
[Obsolete][HideInInspector]
#pragma warning disable 0414
[Obsolete]
[HideInInspector]
[SerializeField][Range(0, 1)] float m_ShadowBlur = 1;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] ShadowStyle m_ShadowStyle;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] Color m_ShadowColor = Color.black;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] Vector2 m_EffectDistance = new Vector2(1f, -1f);
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] bool m_UseGraphicAlpha = true;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] Color m_EffectColor = Color.white;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] List<UIShadow.AdditionalShadow> m_AdditionalShadows = new List<UIShadow.AdditionalShadow>();
#pragma warning restore 0414
#pragma warning restore 0414
public enum BlurEx
{
@ -295,9 +301,9 @@ namespace Coffee.UIExtensions
if (isTMPro)
{
#if UNITY_2017_1_OR_NEWER
#if UNITY_2017_1_OR_NEWER
vt.uv2 = uvMask;
#endif
#endif
}
else
{
@ -333,7 +339,7 @@ namespace Coffee.UIExtensions
{
foreach (var m in materials)
{
ptex.RegisterMaterial (m);
ptex.RegisterMaterial(m);
}
ptex.SetData(this, 0, m_EffectFactor); // param.x : effect factor
ptex.SetData(this, 1, m_ColorFactor); // param.y : color factor
@ -354,7 +360,7 @@ namespace Coffee.UIExtensions
return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode, m_AdvancedBlur ? BlurEx.Ex : BlurEx.None);
}
#pragma warning disable 0612
#pragma warning disable 0612
protected override void UpgradeIfNeeded()
{
// Upgrade for v3.0.0
@ -438,7 +444,7 @@ namespace Coffee.UIExtensions
}
}
}
#pragma warning restore 0612
#pragma warning restore 0612
#endif
//################################

View File

@ -1,8 +1,8 @@
using System.Collections;
using System.Linq;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.Rendering;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Coffee.UIExtensions
@ -399,7 +399,7 @@ namespace Coffee.UIExtensions
}
#endif
// Execute command buffer.
canvas.rootCanvas.GetComponent<CanvasScaler> ().StartCoroutine (_CoUpdateTextureOnNextFrame ());
canvas.rootCanvas.GetComponent<CanvasScaler>().StartCoroutine(_CoUpdateTextureOnNextFrame());
}
/// <summary>
@ -523,7 +523,7 @@ namespace Coffee.UIExtensions
if (obj)
{
obj.Release();
RenderTexture.ReleaseTemporary (obj);
RenderTexture.ReleaseTemporary(obj);
obj = null;
}
}

View File

@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
using UnityEngine.UI;
namespace Coffee.UIExtensions
@ -28,13 +26,13 @@ namespace Coffee.UIExtensions
/// Gets or sets a value indicating whether this <see cref="Coffee.UIExtensions.UIFlip"/> should be flipped horizontally.
/// </summary>
/// <value><c>true</c> if be flipped horizontally; otherwise, <c>false</c>.</value>
public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty (); } }
public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty(); } }
/// <summary>
/// Gets or sets a value indicating whether this <see cref="Coffee.UIExtensions.UIFlip"/> should be flipped vertically.
/// </summary>
/// <value><c>true</c> if be flipped horizontally; otherwise, <c>false</c>.</value>
public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty (); } }
public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty(); } }
/// <summary>
/// Call used to modify mesh.

View File

@ -374,7 +374,7 @@ namespace Coffee.UIExtensions
m12 = dx * sin + dy * cos + center;
}
public static Vector2 operator*(Matrix2x3 m, Vector2 v)
public static Vector2 operator *(Matrix2x3 m, Vector2 v)
{
return new Vector2(
(m.m00 * v.x) + (m.m01 * v.y) + m.m02,

View File

@ -1,5 +1,4 @@
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
@ -24,21 +23,21 @@ namespace Coffee.UIExtensions
[Header("Target")]
[Tooltip("Target color to affect hsv shift.")]
[SerializeField] [ColorUsage(false)] Color m_TargetColor = Color.red;
[SerializeField][ColorUsage(false)] Color m_TargetColor = Color.red;
[Tooltip("Color range to affect hsv shift [0 ~ 1].")]
[SerializeField] [Range(0, 1)] float m_Range = 0.1f;
[SerializeField][Range(0, 1)] float m_Range = 0.1f;
[Header("Adjustment")]
[Tooltip("Hue shift [-0.5 ~ 0.5].")]
[SerializeField] [Range(-0.5f, 0.5f)] float m_Hue;
[SerializeField][Range(-0.5f, 0.5f)] float m_Hue;
[Tooltip("Saturation shift [-0.5 ~ 0.5].")]
[SerializeField] [Range(-0.5f, 0.5f)] float m_Saturation;
[SerializeField][Range(-0.5f, 0.5f)] float m_Saturation;
[Tooltip("Value shift [-0.5 ~ 0.5].")]
[SerializeField] [Range(-0.5f, 0.5f)] float m_Value;
[SerializeField][Range(-0.5f, 0.5f)] float m_Value;
//################################
@ -175,7 +174,7 @@ namespace Coffee.UIExtensions
foreach (var m in materials)
{
ptex.RegisterMaterial (m);
ptex.RegisterMaterial(m);
}
ptex.SetData(this, 0, h); // param1.x : target hue

View File

@ -5,8 +5,6 @@ using UnityEngine.Serialization;
using UnityEngine.UI;
#if UNITY_EDITOR
using System.IO;
using System.Linq;
using UnityEditor;
#endif
@ -69,17 +67,18 @@ namespace Coffee.UIExtensions
[Tooltip("Shadow effect style.")]
[SerializeField] ShadowStyle m_Style = ShadowStyle.Shadow;
#pragma warning disable 0414
[HideInInspector][System.Obsolete]
#pragma warning disable 0414
[HideInInspector]
[System.Obsolete]
[SerializeField] List<AdditionalShadow> m_AdditionalShadows = new List<AdditionalShadow>();
#pragma warning restore 0414
#pragma warning restore 0414
[SerializeField]
private Color m_EffectColor = new Color (0f, 0f, 0f, 0.5f);
private Color m_EffectColor = new Color(0f, 0f, 0f, 0.5f);
[SerializeField]
private Vector2 m_EffectDistance = new Vector2 (1f, -1f);
private Vector2 m_EffectDistance = new Vector2(1f, -1f);
[SerializeField]
private bool m_UseGraphicAlpha = true;
@ -93,7 +92,7 @@ namespace Coffee.UIExtensions
{
m_EffectColor = value;
if (graphic != null)
graphic.SetVerticesDirty ();
graphic.SetVerticesDirty();
}
}
@ -118,7 +117,7 @@ namespace Coffee.UIExtensions
m_EffectDistance = value;
if (graphic != null)
graphic.SetVerticesDirty ();
graphic.SetVerticesDirty();
}
}
@ -129,7 +128,7 @@ namespace Coffee.UIExtensions
{
m_UseGraphicAlpha = value;
if (graphic != null)
graphic.SetVerticesDirty ();
graphic.SetVerticesDirty();
}
}
@ -184,7 +183,7 @@ namespace Coffee.UIExtensions
/// <summary>
/// Gets the parameter texture.
/// </summary>
public ParameterTexture ptex{ get; private set; }
public ParameterTexture ptex { get; private set; }
int _graphicVertexCount;
static readonly List<UIShadow> tmpShadows = new List<UIShadow>();
@ -200,12 +199,12 @@ namespace Coffee.UIExtensions
ptex.Register(this);
}
#if TMP_PRESENT
#if TMP_PRESENT
if (isTMPro)
{
textMeshPro.onCullStateChanged.AddListener (OnCullStateChanged);
}
#endif
#endif
}
protected override void OnDisable()
@ -220,15 +219,15 @@ namespace Coffee.UIExtensions
}
#if UNITY_EDITOR
protected override void OnValidate ()
#if UNITY_EDITOR
protected override void OnValidate()
{
effectDistance = m_EffectDistance;
base.OnValidate ();
base.OnValidate();
}
#endif
#endif
#if TMP_PRESENT
#if TMP_PRESENT
protected void OnCullStateChanged (bool state)
{
SetVerticesDirty ();
@ -249,7 +248,7 @@ namespace Coffee.UIExtensions
}
base.LateUpdate ();
}
#endif
#endif
/// <summary>
/// Modifies the mesh.
@ -433,7 +432,7 @@ namespace Coffee.UIExtensions
}
#pragma warning disable 0612
#pragma warning disable 0612
void UpgradeIfNeeded()
{
if (0 < m_AdditionalShadows.Count)
@ -455,7 +454,7 @@ namespace Coffee.UIExtensions
m_AdditionalShadows = null;
}
}
#pragma warning restore 0612
#pragma warning restore 0612
#endif
}
}

View File

@ -1,14 +1,9 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
using System.Collections;
#if UNITY_EDITOR
using System.IO;
using System.Linq;
using UnityEditor;
#endif
namespace Coffee.UIExtensions
@ -31,13 +26,13 @@ namespace Coffee.UIExtensions
//################################
[Tooltip("Location for shiny effect.")]
[FormerlySerializedAs("m_Location")]
[SerializeField] [Range(0, 1)] float m_EffectFactor = 0;
[SerializeField][Range(0, 1)] float m_EffectFactor = 0;
[Tooltip("Width for shiny effect.")]
[SerializeField] [Range(0, 1)] float m_Width = 0.25f;
[SerializeField][Range(0, 1)] float m_Width = 0.25f;
[Tooltip("Rotation for shiny effect.")]
[SerializeField] [Range(-180, 180)] float m_Rotation;
[SerializeField][Range(-180, 180)] float m_Rotation;
[Tooltip("Softness for shiny effect.")]
[SerializeField][Range(0.01f, 1)] float m_Softness = 1f;
@ -56,18 +51,23 @@ namespace Coffee.UIExtensions
[SerializeField] EffectPlayer m_Player;
#pragma warning disable 0414
[Obsolete][HideInInspector]
#pragma warning disable 0414
[Obsolete]
[HideInInspector]
[SerializeField] bool m_Play = false;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] bool m_Loop = false;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField][Range(0.1f, 10)] float m_Duration = 1;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField][Range(0, 10)] float m_LoopDelay = 1;
[Obsolete][HideInInspector]
[Obsolete]
[HideInInspector]
[SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal;
#pragma warning restore 0414
#pragma warning restore 0414
//################################
@ -224,7 +224,7 @@ namespace Coffee.UIExtensions
if (!Mathf.Approximately(m_Rotation, value))
{
m_Rotation = _lastRotation = value;
SetVerticesDirty ();
SetVerticesDirty();
}
}
}
@ -240,7 +240,7 @@ namespace Coffee.UIExtensions
if (m_EffectArea != value)
{
m_EffectArea = value;
SetVerticesDirty ();
SetVerticesDirty();
}
}
}
@ -248,7 +248,7 @@ namespace Coffee.UIExtensions
/// <summary>
/// Play shinning on enable.
/// </summary>
[System.Obsolete ("Use Play/Stop method instead")]
[System.Obsolete("Use Play/Stop method instead")]
public bool play { get { return _player.play; } set { _player.play = value; } }
/// <summary>
@ -308,7 +308,7 @@ namespace Coffee.UIExtensions
return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName));
}
#pragma warning disable 0612
#pragma warning disable 0612
protected override void UpgradeIfNeeded()
{
// Upgrade for v3.0.0
@ -321,7 +321,7 @@ namespace Coffee.UIExtensions
_player.updateMode = m_UpdateMode;
}
}
#pragma warning restore 0612
#pragma warning restore 0612
#endif
@ -337,7 +337,7 @@ namespace Coffee.UIExtensions
float normalizedIndex = ptex.GetNormalizedIndex(this);
// rect.
Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect);
Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect);
// rotation.
float rad = m_Rotation * Mathf.Deg2Rad;
@ -352,11 +352,11 @@ namespace Coffee.UIExtensions
for (int i = 0; i < vh.currentVertCount; i++)
{
vh.PopulateUIVertex(ref vertex, i);
m_EffectArea.GetNormalizedFactor (i, localMatrix, vertex.position, isText, out nomalizedPos);
m_EffectArea.GetNormalizedFactor(i, localMatrix, vertex.position, isText, out nomalizedPos);
vertex.uv0 = new Vector2 (
Packer.ToFloat (vertex.uv0.x, vertex.uv0.y),
Packer.ToFloat (nomalizedPos.y, normalizedIndex)
vertex.uv0 = new Vector2(
Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
Packer.ToFloat(nomalizedPos.y, normalizedIndex)
);
vh.SetUIVertex(vertex, i);
@ -383,7 +383,7 @@ namespace Coffee.UIExtensions
{
foreach (var m in materials)
{
ptex.RegisterMaterial (m);
ptex.RegisterMaterial(m);
}
ptex.SetData(this, 0, m_EffectFactor); // param1.x : location
ptex.SetData(this, 1, m_Width); // param1.y : width
@ -403,6 +403,6 @@ namespace Coffee.UIExtensions
//################################
float _lastRotation;
EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } }
EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } }
}
}

View File

@ -1,6 +1,5 @@
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Serialization;
namespace Coffee.UIExtensions
{
@ -47,13 +46,13 @@ namespace Coffee.UIExtensions
[SerializeField] bool m_KeepAspectRatio;
[Tooltip("Dissolve edge width.")]
[SerializeField] [Range(0, 1)] float m_DissolveWidth = 0.5f;
[SerializeField][Range(0, 1)] float m_DissolveWidth = 0.5f;
[Tooltip("Dissolve edge softness.")]
[SerializeField] [Range(0, 1)] float m_DissolveSoftness = 0.5f;
[SerializeField][Range(0, 1)] float m_DissolveSoftness = 0.5f;
[Tooltip("Dissolve edge color.")]
[SerializeField] [ColorUsage(false)] Color m_DissolveColor = new Color(0.0f, 0.25f, 1.0f);
[SerializeField][ColorUsage(false)] Color m_DissolveColor = new Color(0.0f, 0.25f, 1.0f);
[Tooltip("Disable graphic's raycast target on hidden.")]
[SerializeField] bool m_PassRayOnHidden;
@ -263,12 +262,12 @@ namespace Coffee.UIExtensions
}
bool isText = isTMPro || graphic is Text;
float normalizedIndex = ptex.GetNormalizedIndex (this);
float normalizedIndex = ptex.GetNormalizedIndex(this);
// rect.
var tex = transitionTexture;
var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1;
Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect, aspectRatio);
Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio);
// Set prameters to vertex.
UIVertex vertex = default(UIVertex);
@ -277,11 +276,11 @@ namespace Coffee.UIExtensions
for (int i = 0; i < count; i++)
{
vh.PopulateUIVertex(ref vertex, i);
m_EffectArea.GetPositionFactor (i, rect, vertex.position, isText, isTMPro, out x, out y);
m_EffectArea.GetPositionFactor(i, rect, vertex.position, isText, isTMPro, out x, out y);
vertex.uv0 = new Vector2 (
Packer.ToFloat (vertex.uv0.x, vertex.uv0.y),
Packer.ToFloat (x, y, normalizedIndex)
vertex.uv0 = new Vector2(
Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
Packer.ToFloat(x, y, normalizedIndex)
);
vh.SetUIVertex(vertex, i);
}
@ -306,7 +305,7 @@ namespace Coffee.UIExtensions
/// </summary>
protected override void OnDisable()
{
base.OnDisable ();
base.OnDisable();
MaterialCache.Unregister(_materialCache);
_materialCache = null;
_player.OnDisable();
@ -316,7 +315,7 @@ namespace Coffee.UIExtensions
{
foreach (var m in materials)
{
ptex.RegisterMaterial (m);
ptex.RegisterMaterial(m);
}
ptex.SetData(this, 0, m_EffectFactor); // param1.x : effect factor
if (m_EffectMode == EffectMode.Dissolve)
@ -351,6 +350,6 @@ namespace Coffee.UIExtensions
//################################
MaterialCache _materialCache = null;
EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } }
EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } }
}
}

View File

@ -2,7 +2,6 @@
// Created: 2018/07/13
#if true // MODULE_MARKER
using System;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using UnityEngine;
@ -50,11 +49,12 @@ namespace DG.Tweening
/// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
public static TweenerCore<float, float, FloatOptions> DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
{
TweenerCore<float, float, FloatOptions> t = DOTween.To(()=> {
TweenerCore<float, float, FloatOptions> t = DOTween.To(() =>
{
float currVal;
target.GetFloat(floatName, out currVal);
return currVal;
}, x=> target.SetFloat(floatName, x), endValue, duration);
}, x => target.SetFloat(floatName, x), endValue, duration);
t.SetTarget(target);
return t;
}

View File

@ -1,6 +1,4 @@
using UnityEngine;
#if false || EPO_DOTWEEN // MODULE_MARKER
#if false || EPO_DOTWEEN // MODULE_MARKER
using EPOOutline;
using DG.Tweening.Plugins.Options;

View File

@ -2,7 +2,6 @@
// Created: 2018/07/13
#if true // MODULE_MARKER
using System;
using DG.Tweening.Core;
using DG.Tweening.Core.Enums;
using DG.Tweening.Plugins;
@ -116,8 +115,10 @@ namespace DG.Tweening
.SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear)
).Join(yTween)
.SetTarget(target).SetEase(DOTween.defaultEaseType);
yTween.OnUpdate(() => {
if (!offsetYSet) {
yTween.OnUpdate(() =>
{
if (!offsetYSet)
{
offsetYSet = true;
offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
}

View File

@ -2,7 +2,6 @@
// Created: 2018/07/13
#if true // MODULE_MARKER
using System;
using DG.Tweening.Core;
using DG.Tweening.Plugins;
using DG.Tweening.Plugins.Core.PathCore;
@ -87,8 +86,10 @@ namespace DG.Tweening
.SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
).Join(yTween)
.SetTarget(target).SetEase(DOTween.defaultEaseType);
yTween.OnUpdate(() => {
if (!offsetYSet) {
yTween.OnUpdate(() =>
{
if (!offsetYSet)
{
offsetYSet = true;
offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
}

View File

@ -2,10 +2,9 @@
// Created: 2018/07/13
#if true // MODULE_MARKER
using System;
using UnityEngine;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using UnityEngine;
#pragma warning disable 1591
namespace DG.Tweening
@ -45,9 +44,11 @@ namespace DG.Tweening
Sequence s = DOTween.Sequence();
GradientColorKey[] colors = gradient.colorKeys;
int len = colors.Length;
for (int i = 0; i < len; ++i) {
for (int i = 0; i < len; ++i)
{
GradientColorKey c = colors[i];
if (i == 0 && c.time <= 0) {
if (i == 0 && c.time <= 0)
{
target.color = c.color;
continue;
}
@ -75,7 +76,8 @@ namespace DG.Tweening
{
endValue = endValue - target.color;
Color to = new Color(0, 0, 0, 0);
return DOTween.To(() => to, x => {
return DOTween.To(() => to, x =>
{
Color diff = x - to;
to = x;
target.color += diff;

View File

@ -3,14 +3,13 @@
#if true // MODULE_MARKER
using System;
using System.Globalization;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening.Core;
using DG.Tweening.Core.Enums;
using DG.Tweening.Plugins;
using DG.Tweening.Plugins.Options;
using System.Globalization;
using UnityEngine;
using UnityEngine.UI;
using Outline = UnityEngine.UI.Outline;
using Text = UnityEngine.UI.Text;
@ -102,9 +101,11 @@ namespace DG.Tweening
Sequence s = DOTween.Sequence();
GradientColorKey[] colors = gradient.colorKeys;
int len = colors.Length;
for (int i = 0; i < len; ++i) {
for (int i = 0; i < len; ++i)
{
GradientColorKey c = colors[i];
if (i == 0 && c.time <= 0) {
if (i == 0 && c.time <= 0)
{
target.color = c.color;
continue;
}
@ -127,7 +128,8 @@ namespace DG.Tweening
/// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
public static TweenerCore<Vector2, Vector2, VectorOptions> DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
{
TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => {
TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x =>
{
target.flexibleWidth = x.x;
target.flexibleHeight = x.y;
}, endValue, duration);
@ -141,7 +143,8 @@ namespace DG.Tweening
/// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
public static TweenerCore<Vector2, Vector2, VectorOptions> DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
{
TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => {
TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x =>
{
target.minWidth = x.x;
target.minHeight = x.y;
}, endValue, duration);
@ -155,7 +158,8 @@ namespace DG.Tweening
/// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
public static TweenerCore<Vector2, Vector2, VectorOptions> DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
{
TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => {
TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x =>
{
target.preferredWidth = x.x;
target.preferredHeight = x.y;
}, endValue, duration);
@ -404,13 +408,15 @@ namespace DG.Tweening
Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
.SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
.SetLoops(numJumps * 2, LoopType.Yoyo)
.OnStart(()=> startPosY = target.anchoredPosition.y);
.OnStart(() => startPosY = target.anchoredPosition.y);
s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration)
.SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
).Join(yTween)
.SetTarget(target).SetEase(DOTween.defaultEaseType);
s.OnUpdate(() => {
if (!offsetYSet) {
s.OnUpdate(() =>
{
if (!offsetYSet)
{
offsetYSet = true;
offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
}
@ -434,7 +440,8 @@ namespace DG.Tweening
public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false)
{
return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition),
x => {
x =>
{
target.horizontalNormalizedPosition = x.x;
target.verticalNormalizedPosition = x.y;
}, endValue, duration)
@ -498,10 +505,12 @@ namespace DG.Tweening
/// <param name="culture">The <see cref="CultureInfo"/> to use (InvariantCulture if NULL)</param>
public static TweenerCore<int, int, NoOptions> DOCounter(
this Text target, int fromValue, int endValue, float duration, bool addThousandsSeparator = true, CultureInfo culture = null
){
)
{
int v = fromValue;
CultureInfo cInfo = !addThousandsSeparator ? null : culture ?? CultureInfo.InvariantCulture;
TweenerCore<int, int, NoOptions> t = DOTween.To(() => v, x => {
TweenerCore<int, int, NoOptions> t = DOTween.To(() => v, x =>
{
v = x;
target.text = addThousandsSeparator
? v.ToString("N0", cInfo)
@ -532,7 +541,8 @@ namespace DG.Tweening
/// Leave it to NULL (default) to use default ones</param>
public static TweenerCore<string, string, StringOptions> DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
{
if (endValue == null) {
if (endValue == null)
{
if (Debugger.logPriority > 0) Debugger.LogWarning("You can't pass a NULL string to DOText: an empty string will be used instead to avoid errors");
endValue = "";
}
@ -557,7 +567,8 @@ namespace DG.Tweening
{
endValue = endValue - target.color;
Color to = new Color(0, 0, 0, 0);
return DOTween.To(() => to, x => {
return DOTween.To(() => to, x =>
{
Color diff = x - to;
to = x;
target.color += diff;
@ -578,7 +589,8 @@ namespace DG.Tweening
{
endValue = endValue - target.color;
Color to = new Color(0, 0, 0, 0);
return DOTween.To(() => to, x => {
return DOTween.To(() => to, x =>
{
Color diff = x - to;
to = x;
target.color += diff;
@ -599,7 +611,8 @@ namespace DG.Tweening
{
endValue = endValue - target.color;
Color to = new Color(0, 0, 0, 0);
return DOTween.To(() => to, x => {
return DOTween.To(() => to, x =>
{
Color diff = x - to;
to = x;
target.color += diff;

View File

@ -1,10 +1,9 @@
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2018/07/13
using System;
using UnityEngine;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using UnityEngine;
//#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0)
//using Task = System.Threading.Tasks.Task;
//#endif
@ -29,9 +28,11 @@ namespace DG.Tweening
Sequence s = DOTween.Sequence();
GradientColorKey[] colors = gradient.colorKeys;
int len = colors.Length;
for (int i = 0; i < len; ++i) {
for (int i = 0; i < len; ++i)
{
GradientColorKey c = colors[i];
if (i == 0 && c.time <= 0) {
if (i == 0 && c.time <= 0)
{
target.color = c.color;
continue;
}
@ -54,9 +55,11 @@ namespace DG.Tweening
Sequence s = DOTween.Sequence();
GradientColorKey[] colors = gradient.colorKeys;
int len = colors.Length;
for (int i = 0; i < len; ++i) {
for (int i = 0; i < len; ++i)
{
GradientColorKey c = colors[i];
if (i == 0 && c.time <= 0) {
if (i == 0 && c.time <= 0)
{
target.SetColor(property, c.color);
continue;
}
@ -80,7 +83,8 @@ namespace DG.Tweening
/// </summary>
public static CustomYieldInstruction WaitForCompletion(this Tween t, bool returnCustomYieldInstruction)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return null;
}
@ -94,7 +98,8 @@ namespace DG.Tweening
/// </summary>
public static CustomYieldInstruction WaitForRewind(this Tween t, bool returnCustomYieldInstruction)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return null;
}
@ -108,7 +113,8 @@ namespace DG.Tweening
/// </summary>
public static CustomYieldInstruction WaitForKill(this Tween t, bool returnCustomYieldInstruction)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return null;
}
@ -123,7 +129,8 @@ namespace DG.Tweening
/// <param name="elapsedLoops">Elapsed loops to wait for</param>
public static CustomYieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops, bool returnCustomYieldInstruction)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return null;
}
@ -139,7 +146,8 @@ namespace DG.Tweening
/// <param name="position">Position (loops included, delays excluded) to wait for</param>
public static CustomYieldInstruction WaitForPosition(this Tween t, float position, bool returnCustomYieldInstruction)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return null;
}
@ -154,7 +162,8 @@ namespace DG.Tweening
/// </summary>
public static CustomYieldInstruction WaitForStart(this Tween t, bool returnCustomYieldInstruction)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return null;
}
@ -175,7 +184,8 @@ namespace DG.Tweening
/// <param name="duration">The duration of the tween</param>
public static TweenerCore<Vector2, Vector2, VectorOptions> DOOffset(this Material target, Vector2 endValue, int propertyID, float duration)
{
if (!target.HasProperty(propertyID)) {
if (!target.HasProperty(propertyID))
{
if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
return null;
}
@ -191,7 +201,8 @@ namespace DG.Tweening
/// <param name="duration">The duration of the tween</param>
public static TweenerCore<Vector2, Vector2, VectorOptions> DOTiling(this Material target, Vector2 endValue, int propertyID, float duration)
{
if (!target.HasProperty(propertyID)) {
if (!target.HasProperty(propertyID))
{
if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
return null;
}
@ -215,7 +226,8 @@ namespace DG.Tweening
/// </summary>
public static async System.Threading.Tasks.Task AsyncWaitForCompletion(this Tween t)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return;
}
@ -229,7 +241,8 @@ namespace DG.Tweening
/// </summary>
public static async System.Threading.Tasks.Task AsyncWaitForRewind(this Tween t)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return;
}
@ -243,7 +256,8 @@ namespace DG.Tweening
/// </summary>
public static async System.Threading.Tasks.Task AsyncWaitForKill(this Tween t)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return;
}
@ -258,7 +272,8 @@ namespace DG.Tweening
/// <param name="elapsedLoops">Elapsed loops to wait for</param>
public static async System.Threading.Tasks.Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return;
}
@ -274,7 +289,8 @@ namespace DG.Tweening
/// <param name="position">Position (loops included, delays excluded) to wait for</param>
public static async System.Threading.Tasks.Task AsyncWaitForPosition(this Tween t, float position)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return;
}
@ -288,7 +304,8 @@ namespace DG.Tweening
/// </summary>
public static async System.Threading.Tasks.Task AsyncWaitForStart(this Tween t)
{
if (!t.active) {
if (!t.active)
{
if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
return;
}
@ -312,9 +329,13 @@ namespace DG.Tweening
{
public class WaitForCompletion : CustomYieldInstruction
{
public override bool keepWaiting { get {
public override bool keepWaiting
{
get
{
return t.active && !t.IsComplete();
}}
}
}
readonly Tween t;
public WaitForCompletion(Tween tween)
{
@ -324,9 +345,13 @@ namespace DG.Tweening
public class WaitForRewind : CustomYieldInstruction
{
public override bool keepWaiting { get {
public override bool keepWaiting
{
get
{
return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0);
}}
}
}
readonly Tween t;
public WaitForRewind(Tween tween)
{
@ -336,9 +361,13 @@ namespace DG.Tweening
public class WaitForKill : CustomYieldInstruction
{
public override bool keepWaiting { get {
public override bool keepWaiting
{
get
{
return t.active;
}}
}
}
readonly Tween t;
public WaitForKill(Tween tween)
{
@ -348,9 +377,13 @@ namespace DG.Tweening
public class WaitForElapsedLoops : CustomYieldInstruction
{
public override bool keepWaiting { get {
public override bool keepWaiting
{
get
{
return t.active && t.CompletedLoops() < elapsedLoops;
}}
}
}
readonly Tween t;
readonly int elapsedLoops;
public WaitForElapsedLoops(Tween tween, int elapsedLoops)
@ -362,9 +395,13 @@ namespace DG.Tweening
public class WaitForPosition : CustomYieldInstruction
{
public override bool keepWaiting { get {
public override bool keepWaiting
{
get
{
return t.active && t.position * (t.CompletedLoops() + 1) < position;
}}
}
}
readonly Tween t;
readonly float position;
public WaitForPosition(Tween tween, float position)
@ -376,9 +413,13 @@ namespace DG.Tweening
public class WaitForStart : CustomYieldInstruction
{
public override bool keepWaiting { get {
public override bool keepWaiting
{
get
{
return t.active && !t.playedOnce;
}}
}
}
readonly Tween t;
public WaitForStart(Tween tween)
{

View File

@ -1,12 +1,12 @@
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2018/07/13
using System;
using System.Reflection;
using UnityEngine;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Core.PathCore;
using DG.Tweening.Plugins.Options;
using System;
using System.Reflection;
using UnityEngine;
#pragma warning disable 1591
namespace DG.Tweening
@ -69,7 +69,7 @@ namespace DG.Tweening
// Fires OnApplicationPause in DOTweenComponent even when Editor is paused (otherwise it's only fired at runtime)
#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
static void PlaymodeStateChanged()
#else
#else
static void PlaymodeStateChanged(UnityEditor.PlayModeStateChange state)
#endif
{
@ -128,13 +128,16 @@ namespace DG.Tweening
#endif
public static TweenerCore<Vector3, Path, PathOptions> CreateDOTweenPathTween(
MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
){
)
{
TweenerCore<Vector3, Path, PathOptions> t = null;
bool rBodyFoundAndTweened = false;
#if true // PHYSICS_MARKER
if (tweenRigidbody) {
if (tweenRigidbody)
{
Rigidbody rBody = target.GetComponent<Rigidbody>();
if (rBody != null) {
if (rBody != null)
{
rBodyFoundAndTweened = true;
t = isLocal
? rBody.DOLocalPath(path, duration, pathMode)
@ -143,9 +146,11 @@ namespace DG.Tweening
}
#endif
#if true // PHYSICS2D_MARKER
if (!rBodyFoundAndTweened && tweenRigidbody) {
if (!rBodyFoundAndTweened && tweenRigidbody)
{
Rigidbody2D rBody2D = target.GetComponent<Rigidbody2D>();
if (rBody2D != null) {
if (rBody2D != null)
{
rBodyFoundAndTweened = true;
t = isLocal
? rBody2D.DOLocalPath(path, duration, pathMode)
@ -153,7 +158,8 @@ namespace DG.Tweening
}
}
#endif
if (!rBodyFoundAndTweened) {
if (!rBodyFoundAndTweened)
{
t = isLocal
? target.transform.DOLocalPath(path, duration, pathMode)
: target.transform.DOPath(path, duration, pathMode);

View File

@ -0,0 +1,104 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Disable
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Alpha
path:
classID: 225
script: {fileID: 0}
flags: 0
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 1574349066
script: {fileID: 0}
typeID: 225
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Alpha
path:
classID: 225
script: {fileID: 0}
flags: 0
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 25f1c28c99920124189b7173731c38b5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -528,6 +528,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5f9054446a969bf4eaf7998f3ba23334, type: 3}
m_Name:
m_EditorClassIdentifier:
animator: {fileID: 8744505332349586225}
--- !u!1 &2500436782395572584
GameObject:
m_ObjectHideFlags: 0
@ -649,7 +650,7 @@ RectTransform:
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 300, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &4478785627166277611
MonoBehaviour:

View File

@ -1,5 +1,57 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-6499513247890378152
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: active
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -2169522966389634846}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.875
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-2169522966389634846
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Disable
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 8949275168816232509}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 25f1c28c99920124189b7173731c38b5, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@ -8,7 +60,19 @@ AnimatorController:
m_PrefabAsset: {fileID: 0}
m_Name: SelectBorder
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorParameters:
- m_Name: active
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: reactive
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@ -33,7 +97,10 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 5956899137579874003}
m_Position: {x: 340, y: 100, z: 0}
m_Position: {x: 380, y: 70, z: 0}
- serializedVersion: 1
m_State: {fileID: -2169522966389634846}
m_Position: {x: 350, y: 200, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@ -44,6 +111,31 @@ AnimatorStateMachine:
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 5956899137579874003}
--- !u!1101 &1182501105974621518
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: reactive
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5956899137579874003}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.875
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &5956899137579874003
AnimatorState:
serializedVersion: 6
@ -51,10 +143,12 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DEFAULT
m_Name: Enable
m_Speed: 1.6
m_CycleOffset: 0
m_Transitions: []
m_Transitions:
- {fileID: -6499513247890378152}
- {fileID: 1182501105974621518}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@ -70,3 +164,28 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &8949275168816232509
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: active
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5956899137579874003}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1

View File

@ -1,7 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client
{
public static class EventInvoker

View File

@ -1,6 +1,4 @@
using AxibugEmuOnline.Client;
using AxibugEmuOnline.Client.ClientCore;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

View File

@ -1,7 +1,4 @@
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client
namespace AxibugEmuOnline.Client
{
public abstract class CommandChanger : IKeyMapperChanger
{

View File

@ -3,7 +3,6 @@ using AxibugEmuOnline.Client.Common;
using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.Network;
using AxibugProtobuf;
using System;
namespace AxibugEmuOnline.Client.Manager
{

View File

@ -1,5 +1,4 @@
using DG.Tweening;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;

View File

@ -5,8 +5,6 @@ using AxibugEmuOnline.Client.Network;
using AxibugProtobuf;
using System.Collections.Generic;
using System.Linq;
using UnityEngine.EventSystems;
using static AxibugEmuOnline.Client.ClientCore.RomDB;
namespace AxibugEmuOnline.Client.Manager
{

View File

@ -1,6 +1,4 @@
using System;
using System.Text;
using UnityEngine;
using UnityEngine;
using VirtualNes.Core;
namespace AxibugEmuOnline.Client

View File

@ -1,11 +1,8 @@
using AxibugEmuOnline.Client.Common;
using System;
using System.Runtime.InteropServices;
using System.Text;
using UnityEngine;
using UnityEngine.UI;
using VirtualNes.Core;
using static UnityEngine.UI.CanvasScaler;
namespace AxibugEmuOnline.Client
{

View File

@ -4,7 +4,6 @@ using HaoYueNet.ClientNetworkNet.Standard2;
using System;
using System.Net.Sockets;
using System.Threading;
using System.Threading.Tasks;
namespace AxibugEmuOnline.Client.Network
{

View File

@ -1,8 +1,6 @@
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client

View File

@ -1,9 +1,5 @@
using AxibugEmuOnline.Client.ClientCore;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace AxibugEmuOnline.Client
{

View File

@ -1,6 +1,4 @@
using AxibugEmuOnline.Client.UI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client

View File

@ -38,7 +38,7 @@ namespace AxibugEmuOnline.Client
m_stepPerformer = new StepPerformer(this);
//menus.Add(new InGameUI_FilterSetting(this));
menus.Add(new InGameUI_FilterSetting(this));
menus.Add(new InGameUI_Reset(this));
menus.Add(new InGameUI_SaveState(this));
menus.Add(new InGameUI_LoadState(this));

View File

@ -1,7 +1,6 @@
using AxibugEmuOnline.Client.ClientCore;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using static AxibugEmuOnline.Client.FilterManager;
namespace AxibugEmuOnline.Client

View File

@ -1,8 +1,4 @@
using AxibugEmuOnline.Client.ClientCore;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
namespace AxibugEmuOnline.Client
{

View File

@ -1,8 +1,5 @@
using AxibugEmuOnline.Client.ClientCore;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
namespace AxibugEmuOnline.Client
{

View File

@ -1,4 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

View File

@ -1,6 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor;
using UnityEditor.UI;
using UnityEngine;

View File

@ -1,4 +1,3 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

View File

@ -1,7 +1,6 @@
using DG.Tweening;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace AxibugEmuOnline.Client
@ -71,6 +70,7 @@ namespace AxibugEmuOnline.Client
protected override void Update()
{
SelectBorder.Active = Enable;
UpdateMenuState();
base.Update();
@ -177,6 +177,7 @@ namespace AxibugEmuOnline.Client
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
SelectBorder.Target = itemUIRect;
SelectBorder.RefreshPosition();
if (!m_bPoped)
{

View File

@ -1,6 +1,4 @@
using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client

View File

@ -2,7 +2,6 @@ using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.UI;
using AxibugProtobuf;
using System;
using UnityEngine;
using UnityEngine.UI;

View File

@ -1,4 +1,4 @@
using DG.Tweening;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using UnityEngine;
@ -7,6 +7,8 @@ namespace AxibugEmuOnline.Client
{
public class Selector : MonoBehaviour
{
[SerializeField]
private Animator animator;
private RectTransform m_rect => transform as RectTransform;
private RectTransform m_target;
@ -21,15 +23,13 @@ namespace AxibugEmuOnline.Client
m_target = value;
//重置选择游标的动画
gameObject.SetActive(false);
gameObject.SetActive(true);
var itemUIRect = m_target.transform as RectTransform;
m_rect.pivot = itemUIRect.pivot;
m_rect.sizeDelta = itemUIRect.rect.size;
m_rect.SetAsLastSibling();
animator.SetTrigger("reactive");
if (m_trackTween != null)
{
m_trackTween.Kill();
@ -40,15 +40,34 @@ namespace AxibugEmuOnline.Client
}
}
private void LateUpdate()
private bool m_active;
public bool Active
{
if (m_trackTween != null)
get => m_active;
set
{
m_trackTween.endValue = Target.position;
}
if (Target == null) return;
if (m_active == value) return;
m_active = value;
animator.SetBool("active", value);
}
}
public void RefreshPosition()
{
if (Target != null)
{
m_rect.position = Target.position;
}
}
private void LateUpdate()
{
if (m_trackTween != null && m_trackTween.endValue != Target.position)
{
m_trackTween.ChangeEndValue(Target.position, true);
}
if (Target == null) return;
}
}
}

View File

@ -1,4 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

View File

@ -1,7 +1,6 @@
using AxibugEmuOnline.Client.ClientCore;
using AxibugProtobuf;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@ -42,7 +41,7 @@ namespace AxibugEmuOnline.Client
{
if (s_RomFileCahcesInRoomInfo.TryGetValue(roomInfo.GameRomID, out RomFile romFile))
{
callback.Invoke(roomInfo,romFile);
callback.Invoke(roomInfo, romFile);
return;
}
switch (platform)
@ -54,7 +53,7 @@ namespace AxibugEmuOnline.Client
romFile.SetWebData(romWebData);
s_RomFileCahcesInRoomInfo[roomInfo.GameRomID] = romFile;
callback.Invoke(roomInfo,romFile);
callback.Invoke(roomInfo, romFile);
}));
break;
}