diff --git a/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs b/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs index 037b021..87843fb 100644 --- a/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs @@ -1,5 +1,4 @@ using AxibugEmuOnline.Client; -using System; using UnityEditor; using UnityEngine; namespace AxibugEmuOnline.Editors diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs index dbf5a0f..d9f28f7 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using UnityEngine; +using System.Collections.Generic; namespace AxiReplay { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs index ab3dd58..c958f2d 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs @@ -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; diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs index 28677e4..679d0b4 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs @@ -79,7 +79,7 @@ namespace AxiReplay } } - + void UpdateNextFrame(int targetFrame) { //如果已经超过 @@ -128,14 +128,14 @@ namespace AxiReplay /// public bool NextFrame(out ReplayStep data) { - return TakeFrame(1,out data); + return TakeFrame(1, out data); } /// /// 往前推进指定帧数量的Input (返回是否变化) /// /// - public bool TakeFrame(int addFrame,out ReplayStep data) + public bool TakeFrame(int addFrame, out ReplayStep data) { bool Changed = false; mCurrFrame += addFrame; diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs index a4a0f9e..a65f40d 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs @@ -57,7 +57,7 @@ namespace AxiReplay /// 往前推进帧的,指定帧下标 /// /// - public void NextFramebyFrameIdx(int FrameID,UInt64 frameInput) + public void NextFramebyFrameIdx(int FrameID, UInt64 frameInput) { TakeFrame(FrameID - byFrameIdx, frameInput); byFrameIdx = FrameID; @@ -80,7 +80,7 @@ namespace AxiReplay { if (addFrame < 0) { - + } mCurrFrame += addFrame; if (mCurrInput == frameInput) @@ -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); } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs index 79b1658..cdb7086 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs @@ -14,23 +14,23 @@ using System.Linq; namespace Coffee.UIExtensions { - /// - /// Base class for effects that modify the generated Mesh. - /// It works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI. - /// - [ExecuteInEditMode] - public abstract class BaseMeshEffect : UIBehaviour, IMeshModifier - { - //################################ - // Constant or Static Members. - //################################ + /// + /// Base class for effects that modify the generated Mesh. + /// It works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI. + /// + [ExecuteInEditMode] + public abstract class BaseMeshEffect : UIBehaviour, IMeshModifier + { + //################################ + // Constant or Static Members. + //################################ #if TMP_PRESENT static readonly List s_Uv0 = new List (4096); static readonly List s_Uv1 = new List (4096); - #if UNITY_2017_1_OR_NEWER +#if UNITY_2017_1_OR_NEWER static readonly List s_Uv2 = new List (4096); static readonly List s_Uv3 = new List (4096); - #endif +#endif static readonly List s_Vertices = new List (4096); static readonly List s_Indices = new List (4096); static readonly List s_Normals = new List (4096); @@ -42,21 +42,21 @@ namespace Coffee.UIExtensions static readonly List s_UIVertices = new List (4096); static readonly List s_TmpEffects = new List(4); #endif - static readonly Material [] s_EmptyMaterials = new Material [0]; + static readonly Material[] s_EmptyMaterials = new Material[0]; - //################################ - // Public Members. - //################################ - /// - /// The Graphic attached to this GameObject. - /// - public Graphic graphic { get { Initialize (); return _graphic; } } + //################################ + // Public Members. + //################################ + /// + /// The Graphic attached to this GameObject. + /// + public Graphic graphic { get { Initialize(); return _graphic; } } - /// - /// The CanvasRenderer attached to this GameObject. - /// - public CanvasRenderer canvasRenderer { get { Initialize (); return _canvasRenderer; } } + /// + /// The CanvasRenderer attached to this GameObject. + /// + public CanvasRenderer canvasRenderer { get { Initialize(); return _canvasRenderer; } } #if TMP_PRESENT /// @@ -65,40 +65,40 @@ namespace Coffee.UIExtensions public TMP_Text textMeshPro { get { Initialize (); return _textMeshPro; } } #endif - /// - /// The RectTransform attached to this GameObject. - /// - public RectTransform rectTransform { get { Initialize (); return _rectTransform; } } + /// + /// The RectTransform attached to this GameObject. + /// + public RectTransform rectTransform { get { Initialize(); return _rectTransform; } } #if UNITY_5_6_OR_NEWER - /// - /// Additional canvas shader channels to use this component. - /// - public virtual AdditionalCanvasShaderChannels requiredChannels { get { return AdditionalCanvasShaderChannels.None; } } + /// + /// Additional canvas shader channels to use this component. + /// + public virtual AdditionalCanvasShaderChannels requiredChannels { get { return AdditionalCanvasShaderChannels.None; } } #endif - /// - /// Is TextMeshPro or TextMeshProUGUI attached to this GameObject? - /// - public bool isTMPro - { - get - { + /// + /// Is TextMeshPro or TextMeshProUGUI attached to this GameObject? + /// + public bool isTMPro + { + get + { #if TMP_PRESENT return textMeshPro != null; #else - return false; + return false; #endif - } - } + } + } - /// - /// The material for rendering. - /// - public virtual Material material - { - get - { + /// + /// The material for rendering. + /// + public virtual Material material + { + get + { #if TMP_PRESENT if (textMeshPro) @@ -107,17 +107,17 @@ namespace Coffee.UIExtensions } else #endif - if (graphic) - { - return graphic.material; - } - else - { - return null; - } - } - set - { + if (graphic) + { + return graphic.material; + } + else + { + return null; + } + } + set + { #if TMP_PRESENT if (textMeshPro) { @@ -125,17 +125,17 @@ namespace Coffee.UIExtensions } else #endif - if (graphic) - { - graphic.material = value; - } - } - } + if (graphic) + { + graphic.material = value; + } + } + } - public virtual Material[] materials - { - get - { + public virtual Material[] materials + { + get + { #if TMP_PRESENT if (textMeshPro) @@ -144,39 +144,39 @@ namespace Coffee.UIExtensions } else #endif - if (graphic) - { - _materials [0] = graphic.material; - return _materials; - } - else - { - return s_EmptyMaterials; - } - } - } + if (graphic) + { + _materials[0] = graphic.material; + return _materials; + } + else + { + return s_EmptyMaterials; + } + } + } - /// - /// Call used to modify mesh. (legacy) - /// - /// Mesh. - public virtual void ModifyMesh (Mesh mesh) - { - } + /// + /// Call used to modify mesh. (legacy) + /// + /// Mesh. + public virtual void ModifyMesh(Mesh mesh) + { + } - /// - /// Call used to modify mesh. - /// - /// VertexHelper. - public virtual void ModifyMesh (VertexHelper vh) - { - } + /// + /// Call used to modify mesh. + /// + /// VertexHelper. + public virtual void ModifyMesh(VertexHelper vh) + { + } - /// - /// Mark the vertices as dirty. - /// - public virtual void SetVerticesDirty () - { + /// + /// Mark the vertices as dirty. + /// + public virtual void SetVerticesDirty() + { #if TMP_PRESENT if (textMeshPro) { @@ -211,14 +211,14 @@ namespace Coffee.UIExtensions } else #endif - if (graphic) - { - graphic.SetVerticesDirty (); - } - } + if (graphic) + { + graphic.SetVerticesDirty(); + } + } - public void ShowTMProWarning (Shader shader, Shader mobileShader, Shader spriteShader, System.Action onCreatedMaterial) - { + public void ShowTMProWarning(Shader shader, Shader mobileShader, Shader spriteShader, System.Action onCreatedMaterial) + { #if UNITY_EDITOR && TMP_PRESENT if(!textMeshPro || !textMeshPro.fontSharedMaterial) { @@ -312,39 +312,39 @@ namespace Coffee.UIExtensions EditorUtility.SetDirty (spriteAsset); return spriteAsset; #endif - } + } - //################################ - // Protected Members. - //################################ - /// - /// Should the effect modify the mesh directly for TMPro? - /// - protected virtual bool isLegacyMeshModifier { get { return false; } } + //################################ + // Protected Members. + //################################ + /// + /// Should the effect modify the mesh directly for TMPro? + /// + protected virtual bool isLegacyMeshModifier { get { return false; } } - protected virtual void Initialize () - { - if (!_initialized) - { - _initialized = true; - _graphic = _graphic ?? GetComponent (); - _canvasRenderer = _canvasRenderer ?? GetComponent (); - _rectTransform = _rectTransform ?? GetComponent (); + protected virtual void Initialize() + { + if (!_initialized) + { + _initialized = true; + _graphic = _graphic ?? GetComponent(); + _canvasRenderer = _canvasRenderer ?? GetComponent(); + _rectTransform = _rectTransform ?? GetComponent(); #if TMP_PRESENT _textMeshPro = _textMeshPro ?? GetComponent (); #endif - } - } + } + } - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable () - { - _initialized = false; - SetVerticesDirty (); + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + _initialized = false; + SetVerticesDirty(); #if TMP_PRESENT if (textMeshPro) { @@ -360,27 +360,27 @@ namespace Coffee.UIExtensions #endif #if UNITY_5_6_OR_NEWER - if (graphic) - { - AdditionalCanvasShaderChannels channels = requiredChannels; - var canvas = graphic.canvas; - if (canvas && (canvas.additionalShaderChannels & channels) != channels) - { - Debug.LogWarningFormat (this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType ().Name, channels); - } - } + if (graphic) + { + AdditionalCanvasShaderChannels channels = requiredChannels; + var canvas = graphic.canvas; + if (canvas && (canvas.additionalShaderChannels & channels) != channels) + { + Debug.LogWarningFormat(this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType().Name, channels); + } + } #endif - } + } - /// - /// This function is called when the behaviour becomes disabled () or inactive. - /// - protected override void OnDisable () - { + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + 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) @@ -388,14 +388,14 @@ namespace Coffee.UIExtensions GraphicRebuildTracker.UnTrackGraphic (graphic); } #endif - } + } - /// - /// LateUpdate is called every frame, if the Behaviour is enabled. - /// - protected virtual void LateUpdate () - { + /// + /// LateUpdate is called every frame, if the Behaviour is enabled. + /// + protected virtual void LateUpdate() + { #if TMP_PRESENT if (textMeshPro) { @@ -406,35 +406,35 @@ namespace Coffee.UIExtensions _isTextMeshProActive = textMeshPro.isActiveAndEnabled; } #endif - } + } - /// - /// Callback for when properties have been changed by animation. - /// - protected override void OnDidApplyAnimationProperties () - { - SetVerticesDirty (); - } + /// + /// Callback for when properties have been changed by animation. + /// + protected override void OnDidApplyAnimationProperties() + { + SetVerticesDirty(); + } #if UNITY_EDITOR - /// - /// This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only). - /// - protected override void OnValidate () - { - SetVerticesDirty (); - } + /// + /// This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only). + /// + protected override void OnValidate() + { + SetVerticesDirty(); + } #endif - //################################ - // Private Members. - //################################ - bool _initialized; - CanvasRenderer _canvasRenderer; - RectTransform _rectTransform; - Graphic _graphic; - Material [] _materials = new Material [1]; + //################################ + // Private Members. + //################################ + bool _initialized; + CanvasRenderer _canvasRenderer; + RectTransform _rectTransform; + Graphic _graphic; + 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]; @@ -561,5 +561,5 @@ namespace Coffee.UIExtensions s_VertexHelper.AddUIVertexStream(s_UIVertices, s_Indices); } #endif - } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs index fcc3cab..f290458 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs @@ -1,13 +1,13 @@ namespace Coffee.UIExtensions { - /// - /// Blur effect mode. - /// - public enum BlurMode - { - None = 0, - FastBlur = 1, - MediumBlur = 2, - DetailBlur = 3, - } + /// + /// Blur effect mode. + /// + public enum BlurMode + { + None = 0, + FastBlur = 1, + MediumBlur = 2, + DetailBlur = 3, + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs index 8a7aae4..5506aa8 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs @@ -1,13 +1,13 @@ namespace Coffee.UIExtensions { - /// - /// Color effect mode. - /// - public enum ColorMode - { - Multiply = 0, - Fill = 1, - Add = 2, - Subtract = 3, - } + /// + /// Color effect mode. + /// + public enum ColorMode + { + Multiply = 0, + Fill = 1, + Add = 2, + Subtract = 3, + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs index d59c9de..bdae921 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs @@ -3,110 +3,110 @@ using UnityEngine.UI; namespace Coffee.UIExtensions { - /// - /// Area for effect. - /// - public enum EffectArea - { - RectTransform, - Fit, - Character, - } + /// + /// Area for effect. + /// + public enum EffectArea + { + RectTransform, + Fit, + Character, + } - 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 }; + 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 }; - /// - /// Gets effect for area. - /// - public static Rect GetEffectArea (this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1) - { - Rect rect = default(Rect); - switch (area) - { - case EffectArea.RectTransform: - rect = rectangle; - break; - case EffectArea.Character: - rect = rectForCharacter; - break; - case EffectArea.Fit: - // Fit to contents. - UIVertex vertex = default (UIVertex); - float xMin = float.MaxValue; - float yMin = float.MaxValue; - float xMax = float.MinValue; - float yMax = float.MinValue; - for (int i = 0; i < vh.currentVertCount; i++) - { - vh.PopulateUIVertex(ref vertex, i); - float x = vertex.position.x; - float y = vertex.position.y; - xMin = Mathf.Min(xMin, x); - yMin = Mathf.Min(yMin, y); - xMax = Mathf.Max(xMax, x); - yMax = Mathf.Max(yMax, y); - } - rect.Set (xMin, yMin, xMax - xMin, yMax - yMin); - break; - default: - rect = rectangle; - break; - } + /// + /// Gets effect for area. + /// + public static Rect GetEffectArea(this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1) + { + Rect rect = default(Rect); + switch (area) + { + case EffectArea.RectTransform: + rect = rectangle; + break; + case EffectArea.Character: + rect = rectForCharacter; + break; + case EffectArea.Fit: + // Fit to contents. + UIVertex vertex = default(UIVertex); + float xMin = float.MaxValue; + float yMin = float.MaxValue; + float xMax = float.MinValue; + float yMax = float.MinValue; + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + float x = vertex.position.x; + float y = vertex.position.y; + xMin = Mathf.Min(xMin, x); + yMin = Mathf.Min(yMin, y); + xMax = Mathf.Max(xMax, x); + yMax = Mathf.Max(yMax, y); + } + rect.Set(xMin, yMin, xMax - xMin, yMax - yMin); + break; + default: + rect = rectangle; + break; + } - if(0 < aspectRatio) - { - if (rect.width < rect.height) - { - rect.width = rect.height * aspectRatio; - } - else - { - rect.height = rect.width / aspectRatio; - } - } - return rect; - } + if (0 < aspectRatio) + { + if (rect.width < rect.height) + { + rect.width = rect.height * aspectRatio; + } + else + { + rect.height = rect.width / aspectRatio; + } + } + return rect; + } - /// - /// Gets position factor for area. - /// - 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; - } - else if (area == EffectArea.Fit) - { - 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); - } - } + /// + /// Gets position factor for area. + /// + 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; + } + else if (area == EffectArea.Fit) + { + 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); + } + } - /// - /// Normalize vertex position by local matrix. - /// - 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]; - } - else - { - nomalizedPos = matrix * position; - } - } - } + /// + /// Normalize vertex position by local matrix. + /// + 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]; + } + else + { + nomalizedPos = matrix * position; + } + } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs index f2b11de..36a029a 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs @@ -1,156 +1,156 @@ -using UnityEngine; -using System; +using System; using System.Collections.Generic; +using UnityEngine; namespace Coffee.UIExtensions { - /// - /// Effect player. - /// - [Serializable] - public class EffectPlayer - { - //################################ - // Public Members. - //################################ - /// - /// Gets or sets a value indicating whether is playing. - /// - [Header("Effect Player")] - [Tooltip("Playing.")] - public bool play = false; + /// + /// Effect player. + /// + [Serializable] + public class EffectPlayer + { + //################################ + // Public Members. + //################################ + /// + /// Gets or sets a value indicating whether is playing. + /// + [Header("Effect Player")] + [Tooltip("Playing.")] + public bool play = false; - /// - /// Gets or sets the delay before looping. - /// - [Tooltip("Initial play delay.")] - [Range(0f, 10f)] - public float initialPlayDelay = 0; + /// + /// Gets or sets the delay before looping. + /// + [Tooltip("Initial play delay.")] + [Range(0f, 10f)] + public float initialPlayDelay = 0; - /// - /// Gets or sets the duration. - /// - [Tooltip("Duration.")] - [Range(0.01f,10f)] - public float duration = 1; + /// + /// Gets or sets the duration. + /// + [Tooltip("Duration.")] + [Range(0.01f, 10f)] + public float duration = 1; - /// - /// Gets or sets a value indicating whether can loop. - /// - [Tooltip("Loop.")] - public bool loop = false; + /// + /// Gets or sets a value indicating whether can loop. + /// + [Tooltip("Loop.")] + public bool loop = false; - /// - /// Gets or sets the delay before looping. - /// - [Tooltip("Delay before looping.")] - [Range(0f,10f)] - public float loopDelay = 0; + /// + /// Gets or sets the delay before looping. + /// + [Tooltip("Delay before looping.")] + [Range(0f, 10f)] + public float loopDelay = 0; - /// - /// Gets or sets the update mode. - /// - [Tooltip("Update mode")] - public AnimatorUpdateMode updateMode = AnimatorUpdateMode.Normal; + /// + /// Gets or sets the update mode. + /// + [Tooltip("Update mode")] + public AnimatorUpdateMode updateMode = AnimatorUpdateMode.Normal; - static List s_UpdateActions; + static List s_UpdateActions; - /// - /// Register player. - /// - public void OnEnable(Action callback = null) - { + /// + /// Register player. + /// + public void OnEnable(Action callback = null) + { - if (s_UpdateActions == null) - { - s_UpdateActions = new List(); - Canvas.willRenderCanvases += () => - { - var count = s_UpdateActions.Count; - for (int i = 0; i < count; i++) - { - s_UpdateActions[i].Invoke(); - } - }; - } - s_UpdateActions.Add(OnWillRenderCanvases); + if (s_UpdateActions == null) + { + s_UpdateActions = new List(); + Canvas.willRenderCanvases += () => + { + var count = s_UpdateActions.Count; + for (int i = 0; i < count; i++) + { + s_UpdateActions[i].Invoke(); + } + }; + } + s_UpdateActions.Add(OnWillRenderCanvases); - if (play) - { - _time = -initialPlayDelay; - } - else - { - _time = 0; - } - _callback = callback; - } + if (play) + { + _time = -initialPlayDelay; + } + else + { + _time = 0; + } + _callback = callback; + } - /// - /// Unregister player. - /// - public void OnDisable() - { - _callback = null; - s_UpdateActions.Remove(OnWillRenderCanvases); - } + /// + /// Unregister player. + /// + public void OnDisable() + { + _callback = null; + s_UpdateActions.Remove(OnWillRenderCanvases); + } - /// - /// Start playing. - /// - public void Play(bool reset, Action callback = null) - { - if (reset) - { - _time = 0; - } - play = true; - if (callback != null) - { - _callback = callback; - } - } + /// + /// Start playing. + /// + public void Play(bool reset, Action callback = null) + { + if (reset) + { + _time = 0; + } + play = true; + if (callback != null) + { + _callback = callback; + } + } - /// - /// Stop playing. - /// - public void Stop(bool reset) - { - if (reset) - { - _time = 0; - if (_callback != null) - { - _callback(_time); - } - } - play = false; - } + /// + /// Stop playing. + /// + public void Stop(bool reset) + { + if (reset) + { + _time = 0; + if (_callback != null) + { + _callback(_time); + } + } + play = false; + } - //################################ - // Private Members. - //################################ - float _time = 0; - Action _callback; + //################################ + // Private Members. + //################################ + float _time = 0; + Action _callback; - void OnWillRenderCanvases() - { - if (!play || !Application.isPlaying || _callback == null) - { - return; - } + void OnWillRenderCanvases() + { + if (!play || !Application.isPlaying || _callback == null) + { + return; + } - _time += updateMode == AnimatorUpdateMode.UnscaledTime - ? Time.unscaledDeltaTime - : Time.deltaTime; - var current = _time / duration; + _time += updateMode == AnimatorUpdateMode.UnscaledTime + ? Time.unscaledDeltaTime + : Time.deltaTime; + var current = _time / duration; - if (duration <= _time) - { - play = loop; - _time = loop ? -loopDelay : 0; - } - _callback(current); - } - } + if (duration <= _time) + { + play = loop; + _time = loop ? -loopDelay : 0; + } + _callback(current); + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs index a130be1..ce86b1c 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs @@ -4,92 +4,92 @@ using UnityEngine; namespace Coffee.UIExtensions { - public class MaterialCache - { - public ulong hash { get; private set; } + public class MaterialCache + { + public ulong hash { get; private set; } - public int referenceCount { get; private set; } + public int referenceCount { get; private set; } - public Texture texture { get; private set; } + public Texture texture { get; private set; } - public Material material { get; private set; } + public Material material { get; private set; } #if UNITY_EDITOR - [UnityEditor.InitializeOnLoadMethod] - static void ClearCache() - { - foreach (var cache in materialCaches) - { - cache.material = null; - } - materialCaches.Clear(); - } + [UnityEditor.InitializeOnLoadMethod] + static void ClearCache() + { + foreach (var cache in materialCaches) + { + cache.material = null; + } + materialCaches.Clear(); + } #endif - public static List materialCaches = new List(); + public static List materialCaches = new List(); - public static MaterialCache Register(ulong hash, Texture texture, System.Func onCreateMaterial) - { - var cache = materialCaches.FirstOrDefault(x => x.hash == hash); - if (cache != null && cache.material) - { - if (cache.material) - { - cache.referenceCount++; - } - else - { - - materialCaches.Remove(cache); - cache = null; - } - } - if (cache == null) - { - cache = new MaterialCache() - { - hash = hash, - material = onCreateMaterial(), - referenceCount = 1, - }; - materialCaches.Add(cache); - } - return cache; - } + public static MaterialCache Register(ulong hash, Texture texture, System.Func onCreateMaterial) + { + var cache = materialCaches.FirstOrDefault(x => x.hash == hash); + if (cache != null && cache.material) + { + if (cache.material) + { + cache.referenceCount++; + } + else + { - public static MaterialCache Register(ulong hash, System.Func onCreateMaterial) - { - var cache = materialCaches.FirstOrDefault(x => x.hash == hash); - if (cache != null) - { - cache.referenceCount++; - } - if (cache == null) - { - cache = new MaterialCache() - { - hash = hash, - material = onCreateMaterial(), - referenceCount = 1, - }; - materialCaches.Add(cache); - } - return cache; - } + materialCaches.Remove(cache); + cache = null; + } + } + if (cache == null) + { + cache = new MaterialCache() + { + hash = hash, + material = onCreateMaterial(), + referenceCount = 1, + }; + materialCaches.Add(cache); + } + return cache; + } - public static void Unregister(MaterialCache cache) - { - if (cache == null) - { - return; - } + public static MaterialCache Register(ulong hash, System.Func onCreateMaterial) + { + var cache = materialCaches.FirstOrDefault(x => x.hash == hash); + if (cache != null) + { + cache.referenceCount++; + } + if (cache == null) + { + cache = new MaterialCache() + { + hash = hash, + material = onCreateMaterial(), + referenceCount = 1, + }; + materialCaches.Add(cache); + } + return cache; + } - cache.referenceCount--; - if (cache.referenceCount <= 0) - { - MaterialCache.materialCaches.Remove(cache); - cache.material = null; - } - } - } + public static void Unregister(MaterialCache cache) + { + if (cache == null) + { + return; + } + + cache.referenceCount--; + if (cache.referenceCount <= 0) + { + MaterialCache.materialCaches.Remove(cache); + cache.material = null; + } + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs index 8f6cadb..821b8a8 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs @@ -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; @@ -8,119 +8,119 @@ using UnityEngine; namespace Coffee.UIExtensions { - public class MaterialResolver - { - static readonly StringBuilder s_StringBuilder = new StringBuilder(); + public class MaterialResolver + { + static readonly StringBuilder s_StringBuilder = new StringBuilder(); - static readonly Dictionary s_MaterialMap = new Dictionary(); + static readonly Dictionary s_MaterialMap = new Dictionary(); - public static Material GetOrGenerateMaterialVariant(Shader shader, params object[] append) - { - if (!shader) - { - return null; - } + public static Material GetOrGenerateMaterialVariant(Shader shader, params object[] append) + { + if (!shader) + { + return null; + } - Material mat = null; - string variantName = GetVariantName(shader, append); - if (s_MaterialMap.TryGetValue(variantName, out mat) && mat) - { - return mat; - } + Material mat = null; + string variantName = GetVariantName(shader, append); + if (s_MaterialMap.TryGetValue(variantName, out mat) && mat) + { + return mat; + } - string[] keywords = append.Where(x => 0 < (int)x) - .Select(x => x.ToString().ToUpper()) - .ToArray(); - mat = GetMaterial(shader, append); - if (mat) - { - if (!mat.shaderKeywords.OrderBy(x => x).SequenceEqual(keywords.OrderBy(x => x))) - { - mat.shaderKeywords = keywords; - EditorUtility.SetDirty(mat); - if (!Application.isPlaying) - { - EditorApplication.delayCall += AssetDatabase.SaveAssets; - } - } - return mat; - } + string[] keywords = append.Where(x => 0 < (int)x) + .Select(x => x.ToString().ToUpper()) + .ToArray(); + mat = GetMaterial(shader, append); + if (mat) + { + if (!mat.shaderKeywords.OrderBy(x => x).SequenceEqual(keywords.OrderBy(x => x))) + { + mat.shaderKeywords = keywords; + EditorUtility.SetDirty(mat); + if (!Application.isPlaying) + { + EditorApplication.delayCall += AssetDatabase.SaveAssets; + } + } + return mat; + } - if (s_MaterialMap.TryGetValue(variantName, out mat) && mat) - { - return mat; - } + if (s_MaterialMap.TryGetValue(variantName, out mat) && mat) + { + return mat; + } - Debug.Log("Generate material : " + variantName); - mat = new Material(shader); - mat.shaderKeywords = keywords; + Debug.Log("Generate material : " + variantName); + mat = new Material(shader); + mat.shaderKeywords = keywords; - mat.name = variantName; - mat.hideFlags |= HideFlags.NotEditable; - s_MaterialMap[variantName] = mat; + mat.name = variantName; + mat.hideFlags |= HideFlags.NotEditable; + s_MaterialMap[variantName] = mat; - bool isMainAsset = append.Cast().All(x => x == 0); - EditorApplication.delayCall += () => SaveMaterial(mat, shader, isMainAsset); - return mat; - } + bool isMainAsset = append.Cast().All(x => x == 0); + EditorApplication.delayCall += () => SaveMaterial(mat, shader, isMainAsset); + return mat; + } - static void SaveMaterial(Material mat, Shader shader, bool isMainAsset) - { - string materialPath = GetDefaultMaterialPath(shader); + static void SaveMaterial(Material mat, Shader shader, bool isMainAsset) + { + string materialPath = GetDefaultMaterialPath(shader); #if UIEFFECT_SEPARATE string dir = Path.GetDirectoryName(materialPath); materialPath = Path.Combine(Path.Combine(dir, "Separated"), mat.name + ".mat"); isMainAsset = true; #endif - if (isMainAsset) - { - Directory.CreateDirectory(Path.GetDirectoryName(materialPath)); - AssetDatabase.CreateAsset(mat, materialPath); - } - else - { - GetOrGenerateMaterialVariant(shader); - mat.hideFlags |= HideFlags.HideInHierarchy; - AssetDatabase.AddObjectToAsset(mat, materialPath); - } - AssetDatabase.SaveAssets(); - } + if (isMainAsset) + { + Directory.CreateDirectory(Path.GetDirectoryName(materialPath)); + AssetDatabase.CreateAsset(mat, materialPath); + } + else + { + GetOrGenerateMaterialVariant(shader); + mat.hideFlags |= HideFlags.HideInHierarchy; + AssetDatabase.AddObjectToAsset(mat, materialPath); + } + AssetDatabase.SaveAssets(); + } - public static Material GetMaterial(Shader shader, params object[] append) - { - string variantName = GetVariantName(shader, append); - return AssetDatabase.FindAssets("t:Material " + Path.GetFileName(shader.name)) - .Select(x => AssetDatabase.GUIDToAssetPath(x)) - .SelectMany(x => AssetDatabase.LoadAllAssetsAtPath(x)) - .OfType() - .FirstOrDefault(x => x.name == variantName); - } + public static Material GetMaterial(Shader shader, params object[] append) + { + string variantName = GetVariantName(shader, append); + return AssetDatabase.FindAssets("t:Material " + Path.GetFileName(shader.name)) + .Select(x => AssetDatabase.GUIDToAssetPath(x)) + .SelectMany(x => AssetDatabase.LoadAllAssetsAtPath(x)) + .OfType() + .FirstOrDefault(x => x.name == variantName); + } - public static string GetDefaultMaterialPath(Shader shader) - { - var name = Path.GetFileName(shader.name); - return AssetDatabase.FindAssets("t:Material " + name) - .Select(x => AssetDatabase.GUIDToAssetPath(x)) - .FirstOrDefault(x => Path.GetFileNameWithoutExtension(x) == name) - ?? ("Assets/" + name + ".mat"); - } + public static string GetDefaultMaterialPath(Shader shader) + { + var name = Path.GetFileName(shader.name); + return AssetDatabase.FindAssets("t:Material " + name) + .Select(x => AssetDatabase.GUIDToAssetPath(x)) + .FirstOrDefault(x => Path.GetFileNameWithoutExtension(x) == name) + ?? ("Assets/" + name + ".mat"); + } - public static string GetVariantName(Shader shader, params object[] append) - { - s_StringBuilder.Length = 0; + public static string GetVariantName(Shader shader, params object[] append) + { + s_StringBuilder.Length = 0; #if UIEFFECT_SEPARATE s_StringBuilder.Append("[Separated] "); #endif - s_StringBuilder.Append(Path.GetFileName(shader.name)); - foreach (object mode in append.Where(x=>0<(int)x)) - { - s_StringBuilder.Append("-"); - s_StringBuilder.Append(mode.ToString()); - } - return s_StringBuilder.ToString(); - } - } + s_StringBuilder.Append(Path.GetFileName(shader.name)); + foreach (object mode in append.Where(x => 0 < (int)x)) + { + s_StringBuilder.Append("-"); + s_StringBuilder.Append(mode.ToString()); + } + return s_StringBuilder.ToString(); + } + } } #endif diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs index a7121cf..2f62186 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs @@ -2,32 +2,32 @@ namespace Coffee.UIExtensions { - /// - /// Matrix2x3. - /// - public struct Matrix2x3 - { - public float m00, m01, m02, m10, m11, m12; + /// + /// Matrix2x3. + /// + public struct Matrix2x3 + { + public float m00, m01, m02, m10, m11, m12; - public Matrix2x3(Rect rect, float cos, float sin) - { - const float center = 0.5f; - float dx = -rect.xMin / rect.width - center; - float dy = -rect.yMin / rect.height - center; - m00 = cos / rect.width; - m01 = -sin / rect.height; - m02 = dx * cos - dy * sin + center; - m10 = sin / rect.width; - m11 = cos / rect.height; - m12 = dx * sin + dy * cos + center; - } + public Matrix2x3(Rect rect, float cos, float sin) + { + const float center = 0.5f; + float dx = -rect.xMin / rect.width - center; + float dy = -rect.yMin / rect.height - center; + m00 = cos / rect.width; + m01 = -sin / rect.height; + m02 = dx * cos - dy * sin + center; + m10 = sin / rect.width; + m11 = cos / rect.height; + m12 = dx * sin + dy * cos + center; + } - public static Vector2 operator*(Matrix2x3 m, Vector2 v) - { - return new Vector2( - (m.m00 * v.x) + (m.m01 * v.y) + m.m02, - (m.m10 * v.x) + (m.m11 * v.y) + m.m12 - ); - } - } + public static Vector2 operator *(Matrix2x3 m, Vector2 v) + { + return new Vector2( + (m.m00 * v.x) + (m.m01 * v.y) + m.m02, + (m.m10 * v.x) + (m.m11 * v.y) + m.m12 + ); + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs index e39f0a0..10563d8 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs @@ -1,60 +1,58 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; public static class Packer { - /// - /// Pack 4 low-precision [0-1] floats values to a float. - /// Each value [0-1] has 64 steps(6 bits). - /// - public static float ToFloat(float x, float y, float z, float w) - { - x = x < 0 ? 0 : 1 < x ? 1 : x; - y = y < 0 ? 0 : 1 < y ? 1 : y; - z = z < 0 ? 0 : 1 < z ? 1 : z; - w = w < 0 ? 0 : 1 < w ? 1 : w; - const int PRECISION = (1 << 6) - 1; - return (Mathf.FloorToInt(w * PRECISION) << 18) - + (Mathf.FloorToInt(z * PRECISION) << 12) - + (Mathf.FloorToInt(y * PRECISION) << 6) - + Mathf.FloorToInt(x * PRECISION); - } + /// + /// Pack 4 low-precision [0-1] floats values to a float. + /// Each value [0-1] has 64 steps(6 bits). + /// + public static float ToFloat(float x, float y, float z, float w) + { + x = x < 0 ? 0 : 1 < x ? 1 : x; + y = y < 0 ? 0 : 1 < y ? 1 : y; + z = z < 0 ? 0 : 1 < z ? 1 : z; + w = w < 0 ? 0 : 1 < w ? 1 : w; + const int PRECISION = (1 << 6) - 1; + return (Mathf.FloorToInt(w * PRECISION) << 18) + + (Mathf.FloorToInt(z * PRECISION) << 12) + + (Mathf.FloorToInt(y * PRECISION) << 6) + + Mathf.FloorToInt(x * PRECISION); + } - /// - /// Pack 4 low-precision [0-1] floats values to a float. - /// Each value [0-1] has 64 steps(6 bits). - /// - public static float ToFloat(Vector4 factor) - { - return ToFloat(Mathf.Clamp01(factor.x), Mathf.Clamp01(factor.y), Mathf.Clamp01(factor.z), Mathf.Clamp01(factor.w)); - } + /// + /// Pack 4 low-precision [0-1] floats values to a float. + /// Each value [0-1] has 64 steps(6 bits). + /// + public static float ToFloat(Vector4 factor) + { + return ToFloat(Mathf.Clamp01(factor.x), Mathf.Clamp01(factor.y), Mathf.Clamp01(factor.z), Mathf.Clamp01(factor.w)); + } - /// - /// Pack 1 middle-precision & 2 low-precision [0-1] floats values to a float. - /// z value [0-1] has 4096 steps(12 bits) and xy value [0-1] has 64 steps(6 bits). - /// - public static float ToFloat(float x, float y, float z) - { - x = x < 0 ? 0 : 1 < x ? 1 : x; - y = y < 0 ? 0 : 1 < y ? 1 : y; - z = z < 0 ? 0 : 1 < z ? 1 : z; - const int PRECISION = (1 << 8) - 1; - return (Mathf.FloorToInt(z * PRECISION) << 16) - + (Mathf.FloorToInt(y * PRECISION) << 8) - + Mathf.FloorToInt(x * PRECISION); - } + /// + /// Pack 1 middle-precision & 2 low-precision [0-1] floats values to a float. + /// z value [0-1] has 4096 steps(12 bits) and xy value [0-1] has 64 steps(6 bits). + /// + public static float ToFloat(float x, float y, float z) + { + x = x < 0 ? 0 : 1 < x ? 1 : x; + y = y < 0 ? 0 : 1 < y ? 1 : y; + z = z < 0 ? 0 : 1 < z ? 1 : z; + const int PRECISION = (1 << 8) - 1; + return (Mathf.FloorToInt(z * PRECISION) << 16) + + (Mathf.FloorToInt(y * PRECISION) << 8) + + Mathf.FloorToInt(x * PRECISION); + } - /// - /// Pack 2 low-precision [0-1] floats values to a float. - /// Each value [0-1] has 4096 steps(12 bits). - /// - public static float ToFloat(float x, float y) - { - x = x < 0 ? 0 : 1 < x ? 1 : x; - y = y < 0 ? 0 : 1 < y ? 1 : y; - const int PRECISION = (1 << 12) - 1; - return (Mathf.FloorToInt(y * PRECISION) << 12) - + Mathf.FloorToInt(x * PRECISION); - } + /// + /// Pack 2 low-precision [0-1] floats values to a float. + /// Each value [0-1] has 4096 steps(12 bits). + /// + public static float ToFloat(float x, float y) + { + x = x < 0 ? 0 : 1 < x ? 1 : x; + y = y < 0 ? 0 : 1 < y ? 1 : y; + const int PRECISION = (1 << 12) - 1; + return (Mathf.FloorToInt(y * PRECISION) << 12) + + Mathf.FloorToInt(x * PRECISION); + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs index 9b22100..52af303 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs @@ -1,190 +1,188 @@ -using System.Collections; +using System; using System.Collections.Generic; using UnityEngine; -using UnityEngine.Rendering; -using System; namespace Coffee.UIExtensions { - public interface IParameterTexture - { - int parameterIndex { get; set; } + public interface IParameterTexture + { + int parameterIndex { get; set; } - ParameterTexture ptex { get; } - } + ParameterTexture ptex { get; } + } - /// - /// Parameter texture. - /// - [System.Serializable] - public class ParameterTexture - { + /// + /// Parameter texture. + /// + [System.Serializable] + public class ParameterTexture + { - //################################ - // Public Members. - //################################ + //################################ + // Public Members. + //################################ - /// - /// Initializes a new instance of the class. - /// - /// Channels. - /// Instance limit. - /// Property name. - public ParameterTexture(int channels, int instanceLimit, string propertyName) - { - _propertyName = propertyName; - _channels = ((channels - 1) / 4 + 1) * 4; - _instanceLimit = ((instanceLimit - 1) / 2 + 1) * 2; - _data = new byte[_channels * _instanceLimit]; + /// + /// Initializes a new instance of the class. + /// + /// Channels. + /// Instance limit. + /// Property name. + public ParameterTexture(int channels, int instanceLimit, string propertyName) + { + _propertyName = propertyName; + _channels = ((channels - 1) / 4 + 1) * 4; + _instanceLimit = ((instanceLimit - 1) / 2 + 1) * 2; + _data = new byte[_channels * _instanceLimit]; - _stack = new Stack(_instanceLimit); - for (int i = 1; i < _instanceLimit + 1; i++) - { - _stack.Push(i); - } - } + _stack = new Stack(_instanceLimit); + for (int i = 1; i < _instanceLimit + 1; i++) + { + _stack.Push(i); + } + } - /// - /// Register the specified target. - /// - /// Target. - public void Register(IParameterTexture target) - { - Initialize(); - if (target.parameterIndex <= 0 && 0 < _stack.Count) - { - target.parameterIndex = _stack.Pop(); -// Debug.LogFormat("@@@ Register {0} : {1}", target, target.parameterIndex); - } - } + /// + /// Register the specified target. + /// + /// Target. + public void Register(IParameterTexture target) + { + Initialize(); + if (target.parameterIndex <= 0 && 0 < _stack.Count) + { + target.parameterIndex = _stack.Pop(); + // Debug.LogFormat("@@@ Register {0} : {1}", target, target.parameterIndex); + } + } - /// - /// Unregister the specified target. - /// - /// Target. - public void Unregister(IParameterTexture target) - { - if (0 < target.parameterIndex) - { -// Debug.LogFormat("@@@ Unregister {0} : {1}", target, target.parameterIndex); - _stack.Push(target.parameterIndex); - target.parameterIndex = 0; - } - } + /// + /// Unregister the specified target. + /// + /// Target. + public void Unregister(IParameterTexture target) + { + if (0 < target.parameterIndex) + { + // Debug.LogFormat("@@@ Unregister {0} : {1}", target, target.parameterIndex); + _stack.Push(target.parameterIndex); + target.parameterIndex = 0; + } + } - /// - /// Sets the data. - /// - /// Target. - /// Channel identifier. - /// Value. - public void SetData(IParameterTexture target, int channelId, byte value) - { - int index = (target.parameterIndex - 1) * _channels + channelId; - if (0 < target.parameterIndex && _data[index] != value) - { - _data[index] = value; - _needUpload = true; - } - } + /// + /// Sets the data. + /// + /// Target. + /// Channel identifier. + /// Value. + public void SetData(IParameterTexture target, int channelId, byte value) + { + int index = (target.parameterIndex - 1) * _channels + channelId; + if (0 < target.parameterIndex && _data[index] != value) + { + _data[index] = value; + _needUpload = true; + } + } - /// - /// Sets the data. - /// - /// Target. - /// Channel identifier. - /// Value. - public void SetData(IParameterTexture target, int channelId, float value) - { - SetData(target, channelId, (byte)(Mathf.Clamp01(value) * 255)); - } + /// + /// Sets the data. + /// + /// Target. + /// Channel identifier. + /// Value. + public void SetData(IParameterTexture target, int channelId, float value) + { + SetData(target, channelId, (byte)(Mathf.Clamp01(value) * 255)); + } - /// - /// Registers the material. - /// - /// Mat. - public void RegisterMaterial(Material mat) - { - if (_propertyId == 0) - { - _propertyId = Shader.PropertyToID(_propertyName); - } - if (mat) - { - mat.SetTexture(_propertyId, _texture); - } - } + /// + /// Registers the material. + /// + /// Mat. + public void RegisterMaterial(Material mat) + { + if (_propertyId == 0) + { + _propertyId = Shader.PropertyToID(_propertyName); + } + if (mat) + { + mat.SetTexture(_propertyId, _texture); + } + } - /// - /// Gets the index of the normalized. - /// - /// The normalized index. - /// Target. - public float GetNormalizedIndex(IParameterTexture target) - { - return ((float)target.parameterIndex - 0.5f) / _instanceLimit; - } + /// + /// Gets the index of the normalized. + /// + /// The normalized index. + /// Target. + public float GetNormalizedIndex(IParameterTexture target) + { + return ((float)target.parameterIndex - 0.5f) / _instanceLimit; + } - //################################ - // Private Members. - //################################ + //################################ + // Private Members. + //################################ - Texture2D _texture; - bool _needUpload; - int _propertyId; - readonly string _propertyName; - readonly int _channels; - readonly int _instanceLimit; - readonly byte[] _data; - readonly Stack _stack; - static List updates; + Texture2D _texture; + bool _needUpload; + int _propertyId; + readonly string _propertyName; + readonly int _channels; + readonly int _instanceLimit; + readonly byte[] _data; + readonly Stack _stack; + static List updates; - /// - /// Initialize this instance. - /// - void Initialize() - { + /// + /// Initialize this instance. + /// + void Initialize() + { #if UNITY_EDITOR - if (!UnityEditor.EditorApplication.isPlaying && UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode) - { - return; - } + if (!UnityEditor.EditorApplication.isPlaying && UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode) + { + return; + } #endif - if (updates == null) - { - updates = new List(); - Canvas.willRenderCanvases += () => - { - var count = updates.Count; - for (int i = 0; i < count; i++) - { - updates[i].Invoke(); - } - }; - } + if (updates == null) + { + updates = new List(); + Canvas.willRenderCanvases += () => + { + var count = updates.Count; + for (int i = 0; i < count; i++) + { + updates[i].Invoke(); + } + }; + } - if (!_texture) - { - bool isLinear = QualitySettings.activeColorSpace == ColorSpace.Linear; - _texture = new Texture2D(_channels / 4, _instanceLimit, TextureFormat.RGBA32, false, isLinear); - _texture.filterMode = FilterMode.Point; - _texture.wrapMode = TextureWrapMode.Clamp; + if (!_texture) + { + bool isLinear = QualitySettings.activeColorSpace == ColorSpace.Linear; + _texture = new Texture2D(_channels / 4, _instanceLimit, TextureFormat.RGBA32, false, isLinear); + _texture.filterMode = FilterMode.Point; + _texture.wrapMode = TextureWrapMode.Clamp; - updates.Add(UpdateParameterTexture); - _needUpload = true; - } - } + updates.Add(UpdateParameterTexture); + _needUpload = true; + } + } - void UpdateParameterTexture() - { - if (_needUpload && _texture) - { - _needUpload = false; - _texture.LoadRawTextureData(_data); - _texture.Apply(false, false); - } - } - } + void UpdateParameterTexture() + { + if (_needUpload && _texture) + { + _needUpload = false; + _texture.LoadRawTextureData(_data); + _texture.Apply(false, false); + } + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs index 4544ced..084460b 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs @@ -1,14 +1,14 @@ namespace Coffee.UIExtensions { - /// - /// Shadow effect style. - /// - public enum ShadowStyle - { - None = 0, - Shadow, - Outline, - Outline8, - Shadow3, - } + /// + /// Shadow effect style. + /// + public enum ShadowStyle + { + None = 0, + Shadow, + Outline, + Outline8, + Shadow3, + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs index ea04f2e..824b271 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs @@ -1,14 +1,14 @@ namespace Coffee.UIExtensions { - /// - /// Effect mode. - /// - public enum EffectMode - { - None = 0, - Grayscale = 1, - Sepia = 2, - Nega = 3, - Pixel = 4, - } + /// + /// Effect mode. + /// + public enum EffectMode + { + None = 0, + Grayscale = 1, + Sepia = 2, + Nega = 3, + Pixel = 4, + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs index 1046d5e..9a03d32 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs @@ -4,162 +4,162 @@ using UnityEngine.UI; namespace Coffee.UIExtensions { - /// - /// Abstract effect base for UI. - /// - [DisallowMultipleComponent] - public abstract class UIEffectBase : BaseMeshEffect, IParameterTexture + /// + /// Abstract effect base for UI. + /// + [DisallowMultipleComponent] + public abstract class UIEffectBase : BaseMeshEffect, IParameterTexture #if UNITY_EDITOR - , ISerializationCallbackReceiver + , ISerializationCallbackReceiver #endif - { - protected static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; - protected static readonly List tempVerts = new List(); + { + protected static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; + protected static readonly List tempVerts = new List(); - [HideInInspector] - [SerializeField] int m_Version; - [SerializeField] protected Material m_EffectMaterial; + [HideInInspector] + [SerializeField] int m_Version; + [SerializeField] protected Material m_EffectMaterial; - /// - /// Gets or sets the parameter index. - /// - public int parameterIndex { get; set; } + /// + /// Gets or sets the parameter index. + /// + public int parameterIndex { get; set; } - /// - /// Gets the parameter texture. - /// - public virtual ParameterTexture ptex { get { return null; } } + /// + /// Gets the parameter texture. + /// + public virtual ParameterTexture ptex { get { return null; } } - /// - /// Gets target graphic for effect. - /// - public Graphic targetGraphic { get { return graphic; } } + /// + /// Gets target graphic for effect. + /// + public Graphic targetGraphic { get { return graphic; } } - /// - /// Gets material for effect. - /// - public Material effectMaterial { get { return m_EffectMaterial; } } + /// + /// Gets material for effect. + /// + public Material effectMaterial { get { return m_EffectMaterial; } } #if UNITY_EDITOR - protected override void Reset() - { - m_Version = 300; - OnValidate(); - } + protected override void Reset() + { + m_Version = 300; + OnValidate(); + } - /// - /// Raises the validate event. - /// - protected override void OnValidate() - { - base.OnValidate (); + /// + /// Raises the validate event. + /// + protected override void OnValidate() + { + base.OnValidate(); - var mat = GetMaterial(); - if (m_EffectMaterial != mat) - { - m_EffectMaterial = mat; - UnityEditor.EditorUtility.SetDirty(this); - } + var mat = GetMaterial(); + if (m_EffectMaterial != mat) + { + m_EffectMaterial = mat; + UnityEditor.EditorUtility.SetDirty(this); + } - ModifyMaterial(); - SetVerticesDirty (); - SetDirty (); - } + ModifyMaterial(); + SetVerticesDirty(); + SetDirty(); + } - public void OnBeforeSerialize() - { - } + public void OnBeforeSerialize() + { + } - public void OnAfterDeserialize() - { - UnityEditor.EditorApplication.delayCall += UpgradeIfNeeded; - } + public void OnAfterDeserialize() + { + UnityEditor.EditorApplication.delayCall += UpgradeIfNeeded; + } - protected bool IsShouldUpgrade(int expectedVersion) - { - if (m_Version < expectedVersion) - { - Debug.LogFormat(gameObject, "{0}({1}) has been upgraded: version {2} -> {3}", name, GetType().Name, m_Version, expectedVersion); - m_Version = expectedVersion; + protected bool IsShouldUpgrade(int expectedVersion) + { + if (m_Version < expectedVersion) + { + Debug.LogFormat(gameObject, "{0}({1}) has been upgraded: version {2} -> {3}", name, GetType().Name, m_Version, expectedVersion); + m_Version = expectedVersion; - //UnityEditor.EditorApplication.delayCall += () => - { - UnityEditor.EditorUtility.SetDirty(this); - if (!Application.isPlaying && gameObject && gameObject.scene.IsValid()) - { - UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(gameObject.scene); - } - } - ; - return true; - } - return false; - } + //UnityEditor.EditorApplication.delayCall += () => + { + UnityEditor.EditorUtility.SetDirty(this); + if (!Application.isPlaying && gameObject && gameObject.scene.IsValid()) + { + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(gameObject.scene); + } + } + ; + return true; + } + return false; + } - protected virtual void UpgradeIfNeeded() - { - } + protected virtual void UpgradeIfNeeded() + { + } - /// - /// Gets the material. - /// - /// The material. - protected virtual Material GetMaterial() - { - return null; - } + /// + /// Gets the material. + /// + /// The material. + protected virtual Material GetMaterial() + { + return null; + } #endif - /// - /// Modifies the material. - /// - public virtual void ModifyMaterial() - { - targetGraphic.material = isActiveAndEnabled ? m_EffectMaterial : null; - } + /// + /// Modifies the material. + /// + public virtual void ModifyMaterial() + { + targetGraphic.material = isActiveAndEnabled ? m_EffectMaterial : null; + } - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable (); + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); - if (ptex != null) - { - ptex.Register(this); - } - ModifyMaterial(); - SetVerticesDirty(); - SetDirty(); - } + if (ptex != null) + { + ptex.Register(this); + } + ModifyMaterial(); + SetVerticesDirty(); + SetDirty(); + } - /// - /// This function is called when the behaviour becomes disabled () or inactive. - /// - protected override void OnDisable() - { - base.OnDisable (); + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable() + { + base.OnDisable(); - ModifyMaterial (); - SetVerticesDirty(); - if (ptex != null) - { - ptex.Unregister(this); - } - } + ModifyMaterial(); + SetVerticesDirty(); + if (ptex != null) + { + ptex.Unregister(this); + } + } - /// - /// Mark the UIEffect as dirty. - /// - protected virtual void SetDirty() - { - SetVerticesDirty(); - } + /// + /// Mark the UIEffect as dirty. + /// + protected virtual void SetDirty() + { + SetVerticesDirty(); + } - protected override void OnDidApplyAnimationProperties() - { - SetDirty(); - } - } + protected override void OnDidApplyAnimationProperties() + { + SetDirty(); + } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs index 274003c..5180ca3 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs @@ -1,86 +1,85 @@ -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using UnityEditor; using UnityEngine; namespace Coffee.UIExtensions.Editors { - public class BaseMeshEffectEditor : Editor - { - List _materialEditors = new List (); + public class BaseMeshEffectEditor : Editor + { + List _materialEditors = new List(); - protected virtual void OnEnable () - { - ClearMaterialEditors (); - } + protected virtual void OnEnable() + { + ClearMaterialEditors(); + } - protected virtual void OnDisable () - { - ClearMaterialEditors (); - } + protected virtual void OnDisable() + { + ClearMaterialEditors(); + } - void ClearMaterialEditors () - { - foreach (var e in _materialEditors) - { - if (e) - { - DestroyImmediate (e); - } - } - _materialEditors.Clear (); - } + void ClearMaterialEditors() + { + foreach (var e in _materialEditors) + { + if (e) + { + DestroyImmediate(e); + } + } + _materialEditors.Clear(); + } - protected void ShowMaterialEditors (Material [] materials, int startIndex, int count) - { - for (int i = 0; i < count; i++) - { - if (_materialEditors.Count == i) - { - _materialEditors.Add (null); - } + protected void ShowMaterialEditors(Material[] materials, int startIndex, int count) + { + for (int i = 0; i < count; i++) + { + if (_materialEditors.Count == i) + { + _materialEditors.Add(null); + } - var mat = materials [startIndex + i]; - var editor = _materialEditors [i]; - if (editor && editor.target != mat) - { - DestroyImmediate (editor); - editor = null; - } + var mat = materials[startIndex + i]; + var editor = _materialEditors[i]; + if (editor && editor.target != mat) + { + DestroyImmediate(editor); + editor = null; + } - if (!editor) - { - editor = _materialEditors [i] = Editor.CreateEditor (mat) as MaterialEditor; - } + if (!editor) + { + editor = _materialEditors[i] = Editor.CreateEditor(mat) as MaterialEditor; + } - editor.DrawHeader (); - editor.OnInspectorGUI (); - } - } + editor.DrawHeader(); + editor.OnInspectorGUI(); + } + } - protected void ShowCanvasChannelsWarning () - { - BaseMeshEffect effect = target as BaseMeshEffect; - if (!effect || !effect.graphic) - { - return; - } + protected void ShowCanvasChannelsWarning() + { + BaseMeshEffect effect = target as BaseMeshEffect; + if (!effect || !effect.graphic) + { + return; + } #if UNITY_5_6_OR_NEWER - AdditionalCanvasShaderChannels channels = effect.requiredChannels; - 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")) - { - canvas.additionalShaderChannels |= channels; - } - EditorGUILayout.EndHorizontal (); - } + AdditionalCanvasShaderChannels channels = effect.requiredChannels; + 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")) + { + canvas.additionalShaderChannels |= channels; + } + EditorGUILayout.EndHorizontal(); + } #endif - } - } + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs index d64e2d8..5f42599 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs @@ -1,53 +1,51 @@ -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 { - /// - /// Remove deprecated files in old .unitypackage, after compiling. - /// - public class DeprecatedRemover - { - /// - /// GUIDs of deprecated files. - /// - static readonly List DeprecatedFiles = new List() - { - "156b57fee6ef941958e66a129ce387e2", // UICustomEffect.cs + /// + /// Remove deprecated files in old .unitypackage, after compiling. + /// + public class DeprecatedRemover + { + /// + /// GUIDs of deprecated files. + /// + static readonly List DeprecatedFiles = new List() + { + "156b57fee6ef941958e66a129ce387e2", // UICustomEffect.cs "a4961e148a8cd4fe0b84dddc2741894a", // UICustomEffectEditor.cs "7b1ed09bdf5e54042b5cd1fbe69361bf", // MaterialBundle.cs }; - #if UNITY_EDITOR - [UnityEditor.InitializeOnLoadMethod] - static void RemoveFiles() - { - // The deprecated file path that exists. - var files = DeprecatedFiles.Select(x => AssetDatabase.GUIDToAssetPath(x)) - .Where(x => File.Exists(x)) - .ToArray(); - - if (files.Any()) - { - StringBuilder sb = new StringBuilder(); - sb.AppendFormat("[{0}] {1} files have been removed.\n", typeof(DeprecatedRemover).Name, files.Length); +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoadMethod] + static void RemoveFiles() + { + // The deprecated file path that exists. + var files = DeprecatedFiles.Select(x => AssetDatabase.GUIDToAssetPath(x)) + .Where(x => File.Exists(x)) + .ToArray(); - foreach (var path in files) - { - AssetDatabase.DeleteAsset(path); - sb.AppendFormat(" - {0}\n", path); - } + if (files.Any()) + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("[{0}] {1} files have been removed.\n", typeof(DeprecatedRemover).Name, files.Length); - AssetDatabase.Refresh(); - UnityEngine.Debug.Log(sb); - } - } - #endif - } + foreach (var path in files) + { + AssetDatabase.DeleteAsset(path); + sb.AppendFormat(" - {0}\n", path); + } + + AssetDatabase.Refresh(); + UnityEngine.Debug.Log(sb); + } + } +#endif + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs index 2883ff7..57eea62 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs @@ -1,181 +1,179 @@ -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 { - /// - /// UIEffect editor. - /// - [CustomEditor(typeof(UIDissolve))] - [CanEditMultipleObjects] - public class UIDissolveEditor : BaseMeshEffectEditor - { - static int s_NoiseTexId; + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIDissolve))] + [CanEditMultipleObjects] + public class UIDissolveEditor : BaseMeshEffectEditor + { + static int s_NoiseTexId; - //################################ - // Public/Protected Members. - //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable (); + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); - _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); - _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); - _spEffectArea = serializedObject.FindProperty("m_EffectArea"); - _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); - _spWidth = serializedObject.FindProperty("m_Width"); - _spColor = serializedObject.FindProperty("m_Color"); - _spSoftness = serializedObject.FindProperty("m_Softness"); - _spColorMode = serializedObject.FindProperty("m_ColorMode"); - _spNoiseTexture = serializedObject.FindProperty("m_NoiseTexture"); - _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); - _spReverse = serializedObject.FindProperty("m_Reverse"); - var player = serializedObject.FindProperty("m_Player"); - _spPlay = player.FindPropertyRelative("play"); - _spDuration = player.FindPropertyRelative("duration"); - _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); - _spLoop = player.FindPropertyRelative("loop"); - _spLoopDelay = player.FindPropertyRelative("loopDelay"); - _spUpdateMode = player.FindPropertyRelative("updateMode"); + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); + _spEffectArea = serializedObject.FindProperty("m_EffectArea"); + _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); + _spWidth = serializedObject.FindProperty("m_Width"); + _spColor = serializedObject.FindProperty("m_Color"); + _spSoftness = serializedObject.FindProperty("m_Softness"); + _spColorMode = serializedObject.FindProperty("m_ColorMode"); + _spNoiseTexture = serializedObject.FindProperty("m_NoiseTexture"); + _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); + _spReverse = serializedObject.FindProperty("m_Reverse"); + var player = serializedObject.FindProperty("m_Player"); + _spPlay = player.FindPropertyRelative("play"); + _spDuration = player.FindPropertyRelative("duration"); + _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); + _spLoop = player.FindPropertyRelative("loop"); + _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)"); + } - /// - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - foreach (var d in targets.Cast ()) - { - 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 - : ColorMode.Multiply; + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + foreach (var d in targets.Cast()) + { + 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 + : ColorMode.Multiply; - Texture noiseTexture = mat.GetTexture(s_NoiseTexId); + 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 (); - } - } - } + 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(); + } + } + } - serializedObject.Update(); + serializedObject.Update(); - //================ - // Effect material. - //================ - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.PropertyField(_spMaterial); - EditorGUI.EndDisabledGroup(); + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); - //================ - // Effect setting. - //================ - EditorGUILayout.PropertyField(_spEffectFactor); - EditorGUILayout.PropertyField(_spWidth); - EditorGUILayout.PropertyField(_spSoftness); - EditorGUILayout.PropertyField(_spColor); + //================ + // Effect setting. + //================ + EditorGUILayout.PropertyField(_spEffectFactor); + EditorGUILayout.PropertyField(_spWidth); + EditorGUILayout.PropertyField(_spSoftness); + EditorGUILayout.PropertyField(_spColor); - bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); - using (new EditorGUI.DisabledGroupScope (isAnyTMPro)) - { - EditorGUILayout.PropertyField (_spColorMode); - EditorGUILayout.PropertyField (_spNoiseTexture); - } + bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + { + EditorGUILayout.PropertyField(_spColorMode); + EditorGUILayout.PropertyField(_spNoiseTexture); + } - //================ - // Advanced option. - //================ - EditorGUILayout.PropertyField(_spEffectArea); - EditorGUILayout.PropertyField(_spKeepAspectRatio); + //================ + // Advanced option. + //================ + EditorGUILayout.PropertyField(_spEffectArea); + EditorGUILayout.PropertyField(_spKeepAspectRatio); - //================ - // Effect player. - //================ - EditorGUILayout.PropertyField(_spPlay); - EditorGUILayout.PropertyField(_spDuration); - EditorGUILayout.PropertyField(_spInitialPlayDelay); - EditorGUILayout.PropertyField(_spLoop); - EditorGUILayout.PropertyField(_spLoopDelay); - EditorGUILayout.PropertyField(_spUpdateMode); - EditorGUILayout.PropertyField(_spReverse); + //================ + // Effect player. + //================ + EditorGUILayout.PropertyField(_spPlay); + EditorGUILayout.PropertyField(_spDuration); + EditorGUILayout.PropertyField(_spInitialPlayDelay); + EditorGUILayout.PropertyField(_spLoop); + EditorGUILayout.PropertyField(_spLoopDelay); + EditorGUILayout.PropertyField(_spUpdateMode); + EditorGUILayout.PropertyField(_spReverse); - // Debug. - using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) - { - GUILayout.Label("Debug"); + // Debug. + using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); - if (GUILayout.Button("Play", "ButtonLeft")) - { - (target as UIDissolve).Play(); - } + if (GUILayout.Button("Play", "ButtonLeft")) + { + (target as UIDissolve).Play(); + } - if (GUILayout.Button("Stop", "ButtonRight")) - { - (target as UIDissolve).Stop(); - } - } + if (GUILayout.Button("Stop", "ButtonRight")) + { + (target as UIDissolve).Stop(); + } + } - var c = target as UIDissolve; - c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => { - if(mat.shader == _spriteShader) - { - mat.shaderKeywords = c.material.shaderKeywords; - mat.SetTexture ("_NoiseTex", c.material.GetTexture ("_NoiseTex")); - } - }); - ShowCanvasChannelsWarning (); + var c = target as UIDissolve; + c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => + { + if (mat.shader == _spriteShader) + { + mat.shaderKeywords = c.material.shaderKeywords; + mat.SetTexture("_NoiseTex", c.material.GetTexture("_NoiseTex")); + } + }); + ShowCanvasChannelsWarning(); - ShowMaterialEditors (c.materials, 1, c.materials.Length - 1); + ShowMaterialEditors(c.materials, 1, c.materials.Length - 1); - serializedObject.ApplyModifiedProperties(); + serializedObject.ApplyModifiedProperties(); - } + } - //################################ - // Private Members. - //################################ - SerializedProperty _spMaterial; - SerializedProperty _spEffectFactor; - SerializedProperty _spWidth; - SerializedProperty _spColor; - SerializedProperty _spSoftness; - SerializedProperty _spColorMode; - SerializedProperty _spNoiseTexture; - SerializedProperty _spEffectArea; - SerializedProperty _spKeepAspectRatio; - SerializedProperty _spReverse; - SerializedProperty _spPlay; - SerializedProperty _spLoop; - SerializedProperty _spLoopDelay; - SerializedProperty _spDuration; - SerializedProperty _spInitialPlayDelay; - SerializedProperty _spUpdateMode; + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spEffectFactor; + SerializedProperty _spWidth; + SerializedProperty _spColor; + SerializedProperty _spSoftness; + SerializedProperty _spColorMode; + SerializedProperty _spNoiseTexture; + SerializedProperty _spEffectArea; + SerializedProperty _spKeepAspectRatio; + SerializedProperty _spReverse; + SerializedProperty _spPlay; + SerializedProperty _spLoop; + SerializedProperty _spLoopDelay; + SerializedProperty _spDuration; + SerializedProperty _spInitialPlayDelay; + SerializedProperty _spUpdateMode; - Shader _shader; - Shader _mobileShader; - Shader _spriteShader; - } + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs index ef12c01..e277a46 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs @@ -5,184 +5,184 @@ using DesamplingRate = Coffee.UIExtensions.UIEffectCapturedImage.DesamplingRate; namespace Coffee.UIExtensions.Editors { - /// - /// UIEffectCapturedImage editor. - /// - [CustomEditor(typeof(UIEffectCapturedImage))] - [CanEditMultipleObjects] - public class UIEffectCapturedImageEditor : RawImageEditor - { - //################################ - // Constant or Static Members. - //################################ + /// + /// UIEffectCapturedImage editor. + /// + [CustomEditor(typeof(UIEffectCapturedImage))] + [CanEditMultipleObjects] + public class UIEffectCapturedImageEditor : RawImageEditor + { + //################################ + // Constant or Static Members. + //################################ - public enum QualityMode : int - { - Fast = (DesamplingRate.x2 << 0) + (DesamplingRate.x2 << 4) + (FilterMode.Bilinear << 8) + (2 << 10), - Medium = (DesamplingRate.x1 << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (3 << 10), - Detail = (DesamplingRate.None << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (5 << 10), - Custom = -1, - } + public enum QualityMode : int + { + Fast = (DesamplingRate.x2 << 0) + (DesamplingRate.x2 << 4) + (FilterMode.Bilinear << 8) + (2 << 10), + Medium = (DesamplingRate.x1 << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (3 << 10), + Detail = (DesamplingRate.None << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (5 << 10), + Custom = -1, + } - //################################ - // Public/Protected Members. - //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable(); - _spTexture = serializedObject.FindProperty("m_Texture"); - _spColor = serializedObject.FindProperty("m_Color"); - _spRaycastTarget = serializedObject.FindProperty("m_RaycastTarget"); - _spDesamplingRate = serializedObject.FindProperty("m_DesamplingRate"); - _spReductionRate = serializedObject.FindProperty("m_ReductionRate"); - _spFilterMode = serializedObject.FindProperty("m_FilterMode"); - _spIterations = serializedObject.FindProperty("m_BlurIterations"); - _spKeepSizeToRootCanvas = serializedObject.FindProperty("m_FitToScreen"); - _spBlurMode = serializedObject.FindProperty("m_BlurMode"); - _spCaptureOnEnable = serializedObject.FindProperty("m_CaptureOnEnable"); + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + _spTexture = serializedObject.FindProperty("m_Texture"); + _spColor = serializedObject.FindProperty("m_Color"); + _spRaycastTarget = serializedObject.FindProperty("m_RaycastTarget"); + _spDesamplingRate = serializedObject.FindProperty("m_DesamplingRate"); + _spReductionRate = serializedObject.FindProperty("m_ReductionRate"); + _spFilterMode = serializedObject.FindProperty("m_FilterMode"); + _spIterations = serializedObject.FindProperty("m_BlurIterations"); + _spKeepSizeToRootCanvas = serializedObject.FindProperty("m_FitToScreen"); + _spBlurMode = serializedObject.FindProperty("m_BlurMode"); + _spCaptureOnEnable = serializedObject.FindProperty("m_CaptureOnEnable"); - _customAdvancedOption = (qualityMode == QualityMode.Custom); - } + _customAdvancedOption = (qualityMode == QualityMode.Custom); + } - /// - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - var graphic = (target as UIEffectCapturedImage); - serializedObject.Update(); + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + var graphic = (target as UIEffectCapturedImage); + serializedObject.Update(); - //================ - // Basic properties. - //================ - EditorGUILayout.PropertyField(_spTexture); - EditorGUILayout.PropertyField(_spColor); - EditorGUILayout.PropertyField(_spRaycastTarget); + //================ + // Basic properties. + //================ + EditorGUILayout.PropertyField(_spTexture); + EditorGUILayout.PropertyField(_spColor); + EditorGUILayout.PropertyField(_spRaycastTarget); - //================ - // Capture effect. - //================ - GUILayout.Space(10); - EditorGUILayout.LabelField("Capture Effect", EditorStyles.boldLabel); - UIEffectEditor.DrawEffectProperties(serializedObject, "m_EffectColor"); + //================ + // Capture effect. + //================ + GUILayout.Space(10); + EditorGUILayout.LabelField("Capture Effect", EditorStyles.boldLabel); + UIEffectEditor.DrawEffectProperties(serializedObject, "m_EffectColor"); - //================ - // Advanced option. - //================ - GUILayout.Space(10); - EditorGUILayout.LabelField("Advanced Option", EditorStyles.boldLabel); + //================ + // Advanced option. + //================ + GUILayout.Space(10); + EditorGUILayout.LabelField("Advanced Option", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(_spCaptureOnEnable);// CaptureOnEnable. - EditorGUILayout.PropertyField(_spKeepSizeToRootCanvas);// Keep Graphic Size To RootCanvas. + EditorGUILayout.PropertyField(_spCaptureOnEnable);// CaptureOnEnable. + EditorGUILayout.PropertyField(_spKeepSizeToRootCanvas);// Keep Graphic Size To RootCanvas. - EditorGUI.BeginChangeCheck(); - QualityMode quality = qualityMode; - quality = (QualityMode)EditorGUILayout.EnumPopup("Quality Mode", quality); - if (EditorGUI.EndChangeCheck()) - { - _customAdvancedOption = (quality == QualityMode.Custom); - qualityMode = quality; - } + EditorGUI.BeginChangeCheck(); + QualityMode quality = qualityMode; + quality = (QualityMode)EditorGUILayout.EnumPopup("Quality Mode", quality); + if (EditorGUI.EndChangeCheck()) + { + _customAdvancedOption = (quality == QualityMode.Custom); + qualityMode = quality; + } - // When qualityMode is `Custom`, show advanced option. - if (_customAdvancedOption) - { - if (_spBlurMode.intValue != 0) - { - EditorGUILayout.PropertyField(_spIterations);// Iterations. - } - DrawDesamplingRate(_spReductionRate);// Reduction rate. + // When qualityMode is `Custom`, show advanced option. + if (_customAdvancedOption) + { + if (_spBlurMode.intValue != 0) + { + EditorGUILayout.PropertyField(_spIterations);// Iterations. + } + DrawDesamplingRate(_spReductionRate);// Reduction rate. - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Result Texture Setting", EditorStyles.boldLabel); + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Result Texture Setting", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(_spFilterMode);// Filter Mode. - DrawDesamplingRate(_spDesamplingRate);// Desampling rate. - } + EditorGUILayout.PropertyField(_spFilterMode);// Filter Mode. + DrawDesamplingRate(_spDesamplingRate);// Desampling rate. + } - serializedObject.ApplyModifiedProperties(); + serializedObject.ApplyModifiedProperties(); - // Debug. - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) - { - GUILayout.Label("Debug"); + // Debug. + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); - if (GUILayout.Button("Capture", "ButtonLeft")) - { - graphic.Release(); - EditorApplication.delayCall += graphic.Capture; - } + if (GUILayout.Button("Capture", "ButtonLeft")) + { + graphic.Release(); + EditorApplication.delayCall += graphic.Capture; + } - EditorGUI.BeginDisabledGroup(!(target as UIEffectCapturedImage).capturedTexture); - if (GUILayout.Button("Release", "ButtonRight")) - { - graphic.Release(); - } - EditorGUI.EndDisabledGroup(); - } - } + EditorGUI.BeginDisabledGroup(!(target as UIEffectCapturedImage).capturedTexture); + if (GUILayout.Button("Release", "ButtonRight")) + { + graphic.Release(); + } + EditorGUI.EndDisabledGroup(); + } + } - //################################ - // Private Members. - //################################ - const int Bits4 = (1 << 4) - 1; - const int Bits2 = (1 << 2) - 1; - bool _customAdvancedOption = false; - SerializedProperty _spTexture; - SerializedProperty _spColor; - SerializedProperty _spRaycastTarget; - SerializedProperty _spDesamplingRate; - SerializedProperty _spReductionRate; - SerializedProperty _spFilterMode; - SerializedProperty _spBlurMode; - SerializedProperty _spIterations; - SerializedProperty _spKeepSizeToRootCanvas; - SerializedProperty _spCaptureOnEnable; + //################################ + // Private Members. + //################################ + const int Bits4 = (1 << 4) - 1; + const int Bits2 = (1 << 2) - 1; + bool _customAdvancedOption = false; + SerializedProperty _spTexture; + SerializedProperty _spColor; + SerializedProperty _spRaycastTarget; + SerializedProperty _spDesamplingRate; + SerializedProperty _spReductionRate; + SerializedProperty _spFilterMode; + SerializedProperty _spBlurMode; + SerializedProperty _spIterations; + SerializedProperty _spKeepSizeToRootCanvas; + SerializedProperty _spCaptureOnEnable; - QualityMode qualityMode - { - get - { - if (_customAdvancedOption) - return QualityMode.Custom; + QualityMode qualityMode + { + get + { + if (_customAdvancedOption) + return QualityMode.Custom; - int qualityValue = (_spDesamplingRate.intValue << 0) - + (_spReductionRate.intValue << 4) - + (_spFilterMode.intValue << 8) - + (_spIterations.intValue << 10); + int qualityValue = (_spDesamplingRate.intValue << 0) + + (_spReductionRate.intValue << 4) + + (_spFilterMode.intValue << 8) + + (_spIterations.intValue << 10); - return System.Enum.IsDefined(typeof(QualityMode), qualityValue) ? (QualityMode)qualityValue : QualityMode.Custom; - } - set - { - if (value != QualityMode.Custom) - { - int qualityValue = (int)value; - _spDesamplingRate.intValue = (qualityValue >> 0) & Bits4; - _spReductionRate.intValue = (qualityValue >> 4) & Bits4; - _spFilterMode.intValue = (qualityValue >> 8) & Bits2; - _spIterations.intValue = (qualityValue >> 10) & Bits4; - } - } - } + return System.Enum.IsDefined(typeof(QualityMode), qualityValue) ? (QualityMode)qualityValue : QualityMode.Custom; + } + set + { + if (value != QualityMode.Custom) + { + int qualityValue = (int)value; + _spDesamplingRate.intValue = (qualityValue >> 0) & Bits4; + _spReductionRate.intValue = (qualityValue >> 4) & Bits4; + _spFilterMode.intValue = (qualityValue >> 8) & Bits2; + _spIterations.intValue = (qualityValue >> 10) & Bits4; + } + } + } - /// - /// Draws the desampling rate. - /// - void DrawDesamplingRate(SerializedProperty sp) - { - using (new EditorGUILayout.HorizontalScope()) - { - EditorGUILayout.PropertyField(sp); - int w, h; - (target as UIEffectCapturedImage).GetDesamplingSize((UIEffectCapturedImage.DesamplingRate)sp.intValue, out w, out h); - GUILayout.Label(string.Format("{0}x{1}", w, h), EditorStyles.miniLabel); - } - } - } + /// + /// Draws the desampling rate. + /// + void DrawDesamplingRate(SerializedProperty sp) + { + using (new EditorGUILayout.HorizontalScope()) + { + EditorGUILayout.PropertyField(sp); + int w, h; + (target as UIEffectCapturedImage).GetDesamplingSize((UIEffectCapturedImage.DesamplingRate)sp.intValue, out w, out h); + GUILayout.Label(string.Format("{0}x{1}", w, h), EditorStyles.miniLabel); + } + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs index cfb3be0..c5ac895 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs @@ -1,253 +1,256 @@ -using UnityEditor; -using UnityEditorInternal; -using UnityEngine; +using System; using System.Linq; -using System; +using UnityEditor; +using UnityEngine; namespace Coffee.UIExtensions.Editors { - /// - /// UIEffect editor. - /// - [CustomEditor(typeof(UIEffect))] - [CanEditMultipleObjects] - public class UIEffectEditor : BaseMeshEffectEditor - { - static readonly GUIContent contentEffectColor = new GUIContent ("Effect Color"); + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIEffect))] + [CanEditMultipleObjects] + public class UIEffectEditor : BaseMeshEffectEditor + { + static readonly GUIContent contentEffectColor = new GUIContent("Effect Color"); - //################################ - // Public/Protected Members. - //################################ + //################################ + // Public/Protected Members. + //################################ - /// - /// Draw effect properties. - /// - public static void DrawEffectProperties(SerializedObject serializedObject, string colorProperty = "m_Color") - { - //================ - // Effect material. - //================ - var spMaterial = serializedObject.FindProperty("m_EffectMaterial"); - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.PropertyField(spMaterial); - EditorGUI.EndDisabledGroup(); + /// + /// Draw effect properties. + /// + public static void DrawEffectProperties(SerializedObject serializedObject, string colorProperty = "m_Color") + { + //================ + // Effect material. + //================ + var spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(spMaterial); + EditorGUI.EndDisabledGroup(); - //================ - // Effect setting. - //================ - var spToneMode = serializedObject.FindProperty("m_EffectMode"); - EditorGUILayout.PropertyField(spToneMode); + //================ + // Effect setting. + //================ + var spToneMode = serializedObject.FindProperty("m_EffectMode"); + EditorGUILayout.PropertyField(spToneMode); - // When tone is enable, show parameters. - if (spToneMode.intValue != (int)EffectMode.None) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor")); - EditorGUI.indentLevel--; - } + // When tone is enable, show parameters. + if (spToneMode.intValue != (int)EffectMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor")); + EditorGUI.indentLevel--; + } - //================ - // Color setting. - //================ - var spColorMode = serializedObject.FindProperty("m_ColorMode"); - EditorGUILayout.PropertyField(spColorMode); + //================ + // Color setting. + //================ + var spColorMode = serializedObject.FindProperty("m_ColorMode"); + EditorGUILayout.PropertyField(spColorMode); - // When color is enable, show parameters. - //if (spColorMode.intValue != (int)ColorMode.Multiply) - { - EditorGUI.indentLevel++; + // When color is enable, show parameters. + //if (spColorMode.intValue != (int)ColorMode.Multiply) + { + 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); - } + 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); + } - EditorGUI.BeginChangeCheck (); - EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues; + 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")); - EditorGUI.indentLevel--; - } + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor")); + EditorGUI.indentLevel--; + } - //================ - // Blur setting. - //================ - var spBlurMode = serializedObject.FindProperty("m_BlurMode"); - EditorGUILayout.PropertyField(spBlurMode); + //================ + // Blur setting. + //================ + var spBlurMode = serializedObject.FindProperty("m_BlurMode"); + EditorGUILayout.PropertyField(spBlurMode); - // When blur is enable, show parameters. - if (spBlurMode.intValue != (int)BlurMode.None) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); + // When blur is enable, show parameters. + if (spBlurMode.intValue != (int)BlurMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); - var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur"); - if (spAdvancedBlur != null) - { - EditorGUILayout.PropertyField(spAdvancedBlur); - } - EditorGUI.indentLevel--; - } - } + var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur"); + if (spAdvancedBlur != null) + { + EditorGUILayout.PropertyField(spAdvancedBlur); + } + EditorGUI.indentLevel--; + } + } - int GetEnum(Material mat) - { - Type type = typeof(T); - string[] names = System.Enum.GetNames (type); - int[] values = System.Enum.GetValues (type) as int[]; + int GetEnum(Material mat) + { + Type type = typeof(T); + string[] names = System.Enum.GetNames(type); + int[] values = System.Enum.GetValues(type) as int[]; - int mode = 0; - for(int i=0;i - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - foreach (var d in targets.Cast ()) - { - var mat = d.material; - if (d.isTMPro && mat) - { - var so = new SerializedObject (d); - EffectMode eMode = (EffectMode)GetEnum (mat); - ColorMode cMode = (ColorMode)GetEnum (mat); - BlurMode bMode = (BlurMode)GetEnum (mat); - bool aBlur = mat.IsKeywordEnabled("EX"); - 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 (); - } - } - } + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + foreach (var d in targets.Cast()) + { + var mat = d.material; + if (d.isTMPro && mat) + { + var so = new SerializedObject(d); + EffectMode eMode = (EffectMode)GetEnum(mat); + ColorMode cMode = (ColorMode)GetEnum(mat); + BlurMode bMode = (BlurMode)GetEnum(mat); + bool aBlur = mat.IsKeywordEnabled("EX"); + 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(); + } + } + } - serializedObject.Update(); - bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); - var c = target as UIEffect; + serializedObject.Update(); + bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); + var c = target as UIEffect; - //================ - // Effect material. - //================ - var spMaterial = serializedObject.FindProperty("m_EffectMaterial"); - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.PropertyField(spMaterial); - EditorGUI.EndDisabledGroup(); + //================ + // Effect material. + //================ + var spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(spMaterial); + EditorGUI.EndDisabledGroup(); - //================ - // Effect setting. - //================ - var spToneMode = serializedObject.FindProperty("m_EffectMode"); - using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) - EditorGUILayout.PropertyField(spToneMode); + //================ + // Effect setting. + //================ + var spToneMode = serializedObject.FindProperty("m_EffectMode"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spToneMode); - // When tone is enable, show parameters. - if (spToneMode.intValue != (int)EffectMode.None) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor")); - EditorGUI.indentLevel--; - } + // When tone is enable, show parameters. + if (spToneMode.intValue != (int)EffectMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor")); + EditorGUI.indentLevel--; + } - //================ - // Color setting. - //================ - var spColorMode = serializedObject.FindProperty("m_ColorMode"); - using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) - EditorGUILayout.PropertyField(spColorMode); + //================ + // Color setting. + //================ + var spColorMode = serializedObject.FindProperty("m_ColorMode"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spColorMode); - // When color is enable, show parameters. - //if (spColorMode.intValue != (int)ColorMode.Multiply) - { - EditorGUI.indentLevel++; + // When color is enable, show parameters. + //if (spColorMode.intValue != (int)ColorMode.Multiply) + { + 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"); - } + 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"); + } - EditorGUI.BeginChangeCheck (); - EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues; - #if UNITY_2018_1_OR_NEWER - spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false); - #else + EditorGUI.BeginChangeCheck(); + EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues; +#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")); - EditorGUI.indentLevel--; - } + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor")); + EditorGUI.indentLevel--; + } - //================ - // Blur setting. - //================ - var spBlurMode = serializedObject.FindProperty("m_BlurMode"); - using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) - EditorGUILayout.PropertyField(spBlurMode); + //================ + // Blur setting. + //================ + var spBlurMode = serializedObject.FindProperty("m_BlurMode"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spBlurMode); - // When blur is enable, show parameters. - if (spBlurMode.intValue != (int)BlurMode.None) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); + // When blur is enable, show parameters. + if (spBlurMode.intValue != (int)BlurMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); - var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur"); - using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) - EditorGUILayout.PropertyField(spAdvancedBlur); - EditorGUI.indentLevel--; - } + var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spAdvancedBlur); + EditorGUI.indentLevel--; + } - serializedObject.ApplyModifiedProperties(); + 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(); - } + serializedObject.ApplyModifiedProperties(); + } - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable (); + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void 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)"); + } - //################################ - // Private Members. - //################################ - Shader _shader; - Shader _mobileShader; - Shader _spriteShader; + //################################ + // Private Members. + //################################ + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; - } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs index e03ca11..47b3035 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs @@ -1,102 +1,101 @@ using UnityEditor; using UnityEngine; -using UnityEngine.UI; namespace Coffee.UIExtensions.Editors { - /// - /// UIEffect editor. - /// - [CustomEditor(typeof(UIGradient))] - [CanEditMultipleObjects] - public class UIGradientEditor : Editor - { - public override void OnInspectorGUI() - { - serializedObject.Update(); + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIGradient))] + [CanEditMultipleObjects] + public class UIGradientEditor : Editor + { + public override void OnInspectorGUI() + { + serializedObject.Update(); - //================ - // Direction. - //================ - var spDirection = serializedObject.FindProperty("m_Direction"); - EditorGUILayout.PropertyField(spDirection); + //================ + // Direction. + //================ + var spDirection = serializedObject.FindProperty("m_Direction"); + EditorGUILayout.PropertyField(spDirection); - //================ - // Color. - //================ - var spColor1 = serializedObject.FindProperty("m_Color1"); - var spColor2 = serializedObject.FindProperty("m_Color2"); - var spColor3 = serializedObject.FindProperty("m_Color3"); - var spColor4 = serializedObject.FindProperty("m_Color4"); - switch ((UIGradient.Direction)spDirection.intValue) - { - case UIGradient.Direction.Horizontal: - EditorGUILayout.PropertyField(spColor1, new GUIContent("Left")); - EditorGUILayout.PropertyField(spColor2, new GUIContent("Right")); - break; - case UIGradient.Direction.Vertical: - EditorGUILayout.PropertyField(spColor1, new GUIContent("Top")); - EditorGUILayout.PropertyField(spColor2, new GUIContent("Bottom")); - break; - case UIGradient.Direction.Angle: - EditorGUILayout.PropertyField(spColor1, new GUIContent("Color 1")); - EditorGUILayout.PropertyField(spColor2, new GUIContent("Color 2")); - break; - case UIGradient.Direction.Diagonal: - Rect r = EditorGUILayout.GetControlRect(false, 34); + //================ + // Color. + //================ + var spColor1 = serializedObject.FindProperty("m_Color1"); + var spColor2 = serializedObject.FindProperty("m_Color2"); + var spColor3 = serializedObject.FindProperty("m_Color3"); + var spColor4 = serializedObject.FindProperty("m_Color4"); + switch ((UIGradient.Direction)spDirection.intValue) + { + case UIGradient.Direction.Horizontal: + EditorGUILayout.PropertyField(spColor1, new GUIContent("Left")); + EditorGUILayout.PropertyField(spColor2, new GUIContent("Right")); + break; + case UIGradient.Direction.Vertical: + EditorGUILayout.PropertyField(spColor1, new GUIContent("Top")); + EditorGUILayout.PropertyField(spColor2, new GUIContent("Bottom")); + break; + case UIGradient.Direction.Angle: + EditorGUILayout.PropertyField(spColor1, new GUIContent("Color 1")); + EditorGUILayout.PropertyField(spColor2, new GUIContent("Color 2")); + break; + case UIGradient.Direction.Diagonal: + Rect r = EditorGUILayout.GetControlRect(false, 34); - r = EditorGUI.PrefixLabel(r, new GUIContent("Diagonal Color")); - float w = r.width / 2; + r = EditorGUI.PrefixLabel(r, new GUIContent("Diagonal Color")); + float w = r.width / 2; - EditorGUI.PropertyField(new Rect(r.x, r.y, w, 16), spColor3, GUIContent.none); - EditorGUI.PropertyField(new Rect(r.x + w, r.y, w, 16), spColor4, GUIContent.none); - EditorGUI.PropertyField(new Rect(r.x, r.y + 18, w, 16), spColor1, GUIContent.none); - EditorGUI.PropertyField(new Rect(r.x + w, r.y + 18, w, 16), spColor2, GUIContent.none); - break; - } + EditorGUI.PropertyField(new Rect(r.x, r.y, w, 16), spColor3, GUIContent.none); + EditorGUI.PropertyField(new Rect(r.x + w, r.y, w, 16), spColor4, GUIContent.none); + EditorGUI.PropertyField(new Rect(r.x, r.y + 18, w, 16), spColor1, GUIContent.none); + EditorGUI.PropertyField(new Rect(r.x + w, r.y + 18, w, 16), spColor2, GUIContent.none); + break; + } - //================ - // Angle. - //================ - if ((int)UIGradient.Direction.Angle <= spDirection.intValue) - { - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Rotation")); - } + //================ + // Angle. + //================ + if ((int)UIGradient.Direction.Angle <= spDirection.intValue) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Rotation")); + } - //================ - // Offset. - //================ - if ((int)UIGradient.Direction.Diagonal == spDirection.intValue) - { - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Vertical Offset")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset2"), new GUIContent("Horizontal Offset")); - } - else - { - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Offset")); - } + //================ + // Offset. + //================ + if ((int)UIGradient.Direction.Diagonal == spDirection.intValue) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Vertical Offset")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset2"), new GUIContent("Horizontal Offset")); + } + else + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Offset")); + } - //================ - // Advanced options. - //================ - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Advanced Options", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - { - //if ((target as UIGradient).targetGraphic is Text) - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_GradientStyle")); - - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorSpace")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_IgnoreAspectRatio")); - } - EditorGUI.indentLevel--; + //================ + // Advanced options. + //================ + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Advanced Options", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + //if ((target as UIGradient).targetGraphic is Text) + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_GradientStyle")); - serializedObject.ApplyModifiedProperties(); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorSpace")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_IgnoreAspectRatio")); + } + EditorGUI.indentLevel--; - } - } + serializedObject.ApplyModifiedProperties(); + + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs index 928c036..e7cb0a9 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs @@ -1,84 +1,82 @@ using UnityEditor; -using UnityEditorInternal; using UnityEngine; -using System.Linq; namespace Coffee.UIExtensions.Editors { - /// - /// UIEffect editor. - /// - [CustomEditor(typeof(UIHsvModifier))] - [CanEditMultipleObjects] - public class UIHsvModifierEditor : BaseMeshEffectEditor - { - //################################ - // Public/Protected Members. - //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable (); + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIHsvModifier))] + [CanEditMultipleObjects] + public class UIHsvModifierEditor : BaseMeshEffectEditor + { + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); - _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); - _spTargetColor = serializedObject.FindProperty("m_TargetColor"); - _spRange = serializedObject.FindProperty("m_Range"); - _spHue = serializedObject.FindProperty("m_Hue"); - _spSaturation = serializedObject.FindProperty("m_Saturation"); - _spValue = serializedObject.FindProperty("m_Value"); + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spTargetColor = serializedObject.FindProperty("m_TargetColor"); + _spRange = serializedObject.FindProperty("m_Range"); + _spHue = serializedObject.FindProperty("m_Hue"); + _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)"); + } - /// - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - serializedObject.Update(); + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + serializedObject.Update(); - //================ - // Effect material. - //================ - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.PropertyField(_spMaterial); - EditorGUI.EndDisabledGroup(); + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); - //================ - // Effect setting. - //================ - EditorGUILayout.PropertyField(_spTargetColor); - EditorGUILayout.PropertyField(_spRange); - EditorGUILayout.PropertyField(_spHue); - EditorGUILayout.PropertyField(_spSaturation); - EditorGUILayout.PropertyField(_spValue); + //================ + // Effect setting. + //================ + EditorGUILayout.PropertyField(_spTargetColor); + EditorGUILayout.PropertyField(_spRange); + EditorGUILayout.PropertyField(_spHue); + EditorGUILayout.PropertyField(_spSaturation); + EditorGUILayout.PropertyField(_spValue); - var c = target as UIHsvModifier; - c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {}); - ShowCanvasChannelsWarning (); + var c = target as UIHsvModifier; + 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(); - } + serializedObject.ApplyModifiedProperties(); + } - //################################ - // Private Members. - //################################ - SerializedProperty _spMaterial; - SerializedProperty _spTargetColor; - SerializedProperty _spRange; - SerializedProperty _spHue; - SerializedProperty _spSaturation; - SerializedProperty _spValue; + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spTargetColor; + SerializedProperty _spRange; + SerializedProperty _spHue; + SerializedProperty _spSaturation; + SerializedProperty _spValue; - Shader _shader; - Shader _mobileShader; - Shader _spriteShader; - } + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs index 1e9e729..7f8a613 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs @@ -1,54 +1,52 @@ using UnityEditor; -using UnityEditorInternal; -using UnityEngine; namespace Coffee.UIExtensions.Editors { - /// - /// UIShadow editor. - /// - [CustomEditor(typeof(UIShadow))] - [CanEditMultipleObjects] - public class UIShadowEditor : Editor - { - UIEffect uiEffect; + /// + /// UIShadow editor. + /// + [CustomEditor(typeof(UIShadow))] + [CanEditMultipleObjects] + public class UIShadowEditor : Editor + { + UIEffect uiEffect; - void OnEnable() - { - uiEffect = (target as UIShadow).GetComponent(); + void OnEnable() + { + uiEffect = (target as UIShadow).GetComponent(); - } + } - /// - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - serializedObject.Update(); + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + serializedObject.Update(); - //================ - // Shadow setting. - //================ - var spShadowMode = serializedObject.FindProperty("m_Style"); - EditorGUILayout.PropertyField(spShadowMode); + //================ + // Shadow setting. + //================ + var spShadowMode = serializedObject.FindProperty("m_Style"); + EditorGUILayout.PropertyField(spShadowMode); - // When shadow is enable, show parameters. - if (spShadowMode.intValue != (int)ShadowStyle.None) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectDistance")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectColor")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_UseGraphicAlpha")); + // When shadow is enable, show parameters. + if (spShadowMode.intValue != (int)ShadowStyle.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectDistance")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectColor")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_UseGraphicAlpha")); - if (uiEffect && uiEffect.blurMode != BlurMode.None) - { - EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); - } - EditorGUI.indentLevel--; - } + if (uiEffect && uiEffect.blurMode != BlurMode.None) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); + } + EditorGUI.indentLevel--; + } - serializedObject.ApplyModifiedProperties(); - } - } + serializedObject.ApplyModifiedProperties(); + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs index 5d9cfe0..9892385 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs @@ -1,135 +1,133 @@ using UnityEditor; -using UnityEditorInternal; using UnityEngine; -using System.Linq; namespace Coffee.UIExtensions.Editors { - /// - /// UIEffect editor. - /// - [CustomEditor(typeof(UIShiny))] - [CanEditMultipleObjects] - public class UIShinyEditor : BaseMeshEffectEditor - { - //################################ - // Public/Protected Members. - //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable (); + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIShiny))] + [CanEditMultipleObjects] + public class UIShinyEditor : BaseMeshEffectEditor + { + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); - _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); - _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); - _spEffectArea = serializedObject.FindProperty("m_EffectArea"); - _spWidth = serializedObject.FindProperty("m_Width"); - _spRotation = serializedObject.FindProperty("m_Rotation"); - _spSoftness = serializedObject.FindProperty("m_Softness"); - _spBrightness = serializedObject.FindProperty("m_Brightness"); - _spGloss = serializedObject.FindProperty("m_Gloss"); - var player = serializedObject.FindProperty("m_Player"); - _spPlay = player.FindPropertyRelative("play"); - _spDuration = player.FindPropertyRelative("duration"); - _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); - _spLoop = player.FindPropertyRelative("loop"); - _spLoopDelay = player.FindPropertyRelative("loopDelay"); - _spUpdateMode = player.FindPropertyRelative("updateMode"); + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); + _spEffectArea = serializedObject.FindProperty("m_EffectArea"); + _spWidth = serializedObject.FindProperty("m_Width"); + _spRotation = serializedObject.FindProperty("m_Rotation"); + _spSoftness = serializedObject.FindProperty("m_Softness"); + _spBrightness = serializedObject.FindProperty("m_Brightness"); + _spGloss = serializedObject.FindProperty("m_Gloss"); + var player = serializedObject.FindProperty("m_Player"); + _spPlay = player.FindPropertyRelative("play"); + _spDuration = player.FindPropertyRelative("duration"); + _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); + _spLoop = player.FindPropertyRelative("loop"); + _spLoopDelay = player.FindPropertyRelative("loopDelay"); + _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)"); + } - /// - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - serializedObject.Update(); + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + serializedObject.Update(); - //================ - // Effect material. - //================ - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.PropertyField(_spMaterial); - EditorGUI.EndDisabledGroup(); + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); - //================ - // Effect setting. - //================ - EditorGUILayout.PropertyField(_spEffectFactor); - EditorGUILayout.PropertyField(_spWidth); - EditorGUILayout.PropertyField(_spRotation); - EditorGUILayout.PropertyField(_spSoftness); - EditorGUILayout.PropertyField(_spBrightness); - EditorGUILayout.PropertyField(_spGloss); + //================ + // Effect setting. + //================ + EditorGUILayout.PropertyField(_spEffectFactor); + EditorGUILayout.PropertyField(_spWidth); + EditorGUILayout.PropertyField(_spRotation); + EditorGUILayout.PropertyField(_spSoftness); + EditorGUILayout.PropertyField(_spBrightness); + EditorGUILayout.PropertyField(_spGloss); - //================ - // Advanced option. - //================ - EditorGUILayout.PropertyField(_spEffectArea); + //================ + // Advanced option. + //================ + EditorGUILayout.PropertyField(_spEffectArea); - //================ - // Effect player. - //================ - EditorGUILayout.PropertyField(_spPlay); - EditorGUILayout.PropertyField(_spDuration); - EditorGUILayout.PropertyField(_spInitialPlayDelay); - EditorGUILayout.PropertyField(_spLoop); - EditorGUILayout.PropertyField(_spLoopDelay); - EditorGUILayout.PropertyField(_spUpdateMode); + //================ + // Effect player. + //================ + EditorGUILayout.PropertyField(_spPlay); + EditorGUILayout.PropertyField(_spDuration); + EditorGUILayout.PropertyField(_spInitialPlayDelay); + EditorGUILayout.PropertyField(_spLoop); + EditorGUILayout.PropertyField(_spLoopDelay); + EditorGUILayout.PropertyField(_spUpdateMode); - // Debug. - using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) - { - GUILayout.Label("Debug"); + // Debug. + using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); - if (GUILayout.Button("Play", "ButtonLeft")) - { - (target as UIShiny).Play(); - } + if (GUILayout.Button("Play", "ButtonLeft")) + { + (target as UIShiny).Play(); + } - if (GUILayout.Button("Stop", "ButtonRight")) - { - (target as UIShiny).Stop(); - } - } + if (GUILayout.Button("Stop", "ButtonRight")) + { + (target as UIShiny).Stop(); + } + } - var c = target as UIShiny; - c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {}); - ShowCanvasChannelsWarning (); + var c = target as UIShiny; + 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(); - } + serializedObject.ApplyModifiedProperties(); + } - //################################ - // Private Members. - //################################ - SerializedProperty _spMaterial; - SerializedProperty _spEffectFactor; - SerializedProperty _spWidth; - SerializedProperty _spRotation; - SerializedProperty _spSoftness; - SerializedProperty _spBrightness; - SerializedProperty _spGloss; - SerializedProperty _spEffectArea; - SerializedProperty _spPlay; - SerializedProperty _spLoop; - SerializedProperty _spLoopDelay; - SerializedProperty _spDuration; - SerializedProperty _spInitialPlayDelay; - SerializedProperty _spUpdateMode; + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spEffectFactor; + SerializedProperty _spWidth; + SerializedProperty _spRotation; + SerializedProperty _spSoftness; + SerializedProperty _spBrightness; + SerializedProperty _spGloss; + SerializedProperty _spEffectArea; + SerializedProperty _spPlay; + SerializedProperty _spLoop; + SerializedProperty _spLoopDelay; + SerializedProperty _spDuration; + SerializedProperty _spInitialPlayDelay; + SerializedProperty _spUpdateMode; - Shader _shader; - Shader _mobileShader; - Shader _spriteShader; - } + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs index f511126..fad4a6e 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs @@ -1,190 +1,189 @@ -using UnityEditor; -using UnityEditorInternal; +using System.Linq; +using UnityEditor; using UnityEngine; -using System.Linq; namespace Coffee.UIExtensions.Editors { - /// - /// UIEffect editor. - /// - [CustomEditor(typeof(UITransitionEffect))] - [CanEditMultipleObjects] - public class UITransitionEffectEditor : BaseMeshEffectEditor - { - static int s_NoiseTexId; + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UITransitionEffect))] + [CanEditMultipleObjects] + public class UITransitionEffectEditor : BaseMeshEffectEditor + { + static int s_NoiseTexId; - //################################ - // Public/Protected Members. - //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable(); + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); - _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); - _spEffectMode = serializedObject.FindProperty("m_EffectMode"); - _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); - _spEffectArea = serializedObject.FindProperty("m_EffectArea"); - _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); - _spDissolveWidth = serializedObject.FindProperty("m_DissolveWidth"); - _spDissolveSoftness = serializedObject.FindProperty("m_DissolveSoftness"); - _spDissolveColor = serializedObject.FindProperty("m_DissolveColor"); - _spTransitionTexture = serializedObject.FindProperty("m_TransitionTexture"); - var player = serializedObject.FindProperty("m_Player"); - _spPlay = player.FindPropertyRelative("play"); - _spDuration = player.FindPropertyRelative("duration"); - _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); - _spLoop = player.FindPropertyRelative("loop"); - _spLoopDelay = player.FindPropertyRelative("loopDelay"); - _spUpdateMode = player.FindPropertyRelative("updateMode"); - _spPassRayOnHidden = serializedObject.FindProperty("m_PassRayOnHidden"); + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spEffectMode = serializedObject.FindProperty("m_EffectMode"); + _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); + _spEffectArea = serializedObject.FindProperty("m_EffectArea"); + _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); + _spDissolveWidth = serializedObject.FindProperty("m_DissolveWidth"); + _spDissolveSoftness = serializedObject.FindProperty("m_DissolveSoftness"); + _spDissolveColor = serializedObject.FindProperty("m_DissolveColor"); + _spTransitionTexture = serializedObject.FindProperty("m_TransitionTexture"); + var player = serializedObject.FindProperty("m_Player"); + _spPlay = player.FindPropertyRelative("play"); + _spDuration = player.FindPropertyRelative("duration"); + _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); + _spLoop = player.FindPropertyRelative("loop"); + _spLoopDelay = player.FindPropertyRelative("loopDelay"); + _spUpdateMode = player.FindPropertyRelative("updateMode"); + _spPassRayOnHidden = serializedObject.FindProperty("m_PassRayOnHidden"); - s_NoiseTexId = Shader.PropertyToID("_NoiseTex"); + s_NoiseTexId = Shader.PropertyToID("_NoiseTex"); - _shader = Shader.Find("TextMeshPro/Distance Field (UITransition)"); - _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UITransition)"); - _spriteShader = Shader.Find("TextMeshPro/Sprite (UITransition)"); - } + _shader = Shader.Find("TextMeshPro/Distance Field (UITransition)"); + _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UITransition)"); + _spriteShader = Shader.Find("TextMeshPro/Sprite (UITransition)"); + } - /// - /// Implement this function to make a custom inspector. - /// - public override void OnInspectorGUI() - { - foreach (var d in targets.Cast ()) - { - var mat = d.material; - if (d.isTMPro && mat && mat.HasProperty (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 - : (UITransitionEffect.EffectMode)0; + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + foreach (var d in targets.Cast()) + { + var mat = d.material; + if (d.isTMPro && mat && mat.HasProperty(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 + : (UITransitionEffect.EffectMode)0; - if (mode == (UITransitionEffect.EffectMode)0) - { - mode = UITransitionEffect.EffectMode.Cutoff; - mat.EnableKeyword ("CUTOFF"); - } + if (mode == (UITransitionEffect.EffectMode)0) + { + mode = UITransitionEffect.EffectMode.Cutoff; + mat.EnableKeyword("CUTOFF"); + } - bool hasChanged = d.transitionTexture != noiseTexture || d.effectMode != mode; + 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 (); - } - } - } + if (hasChanged) + { + var so = new SerializedObject(d); + so.FindProperty("m_TransitionTexture").objectReferenceValue = noiseTexture; + so.FindProperty("m_EffectMode").intValue = (int)mode; + so.ApplyModifiedProperties(); + } + } + } - serializedObject.Update(); + serializedObject.Update(); - //================ - // Effect material. - //================ - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.PropertyField(_spMaterial); - EditorGUI.EndDisabledGroup(); + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); - //================ - // Effect setting. - //================ - bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); - using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) - EditorGUILayout.PropertyField(_spEffectMode); + //================ + // Effect setting. + //================ + bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(_spEffectMode); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(_spEffectFactor); - if (_spEffectMode.intValue == (int)UITransitionEffect.EffectMode.Dissolve) - { - EditorGUILayout.PropertyField(_spDissolveWidth); - EditorGUILayout.PropertyField(_spDissolveSoftness); - EditorGUILayout.PropertyField(_spDissolveColor); - } - EditorGUI.indentLevel--; + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(_spEffectFactor); + if (_spEffectMode.intValue == (int)UITransitionEffect.EffectMode.Dissolve) + { + EditorGUILayout.PropertyField(_spDissolveWidth); + EditorGUILayout.PropertyField(_spDissolveSoftness); + EditorGUILayout.PropertyField(_spDissolveColor); + } + EditorGUI.indentLevel--; - //================ - // Advanced option. - //================ - EditorGUILayout.PropertyField(_spEffectArea); - using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) - EditorGUILayout.PropertyField(_spTransitionTexture); - EditorGUILayout.PropertyField(_spKeepAspectRatio); - EditorGUILayout.PropertyField(_spPassRayOnHidden); + //================ + // Advanced option. + //================ + EditorGUILayout.PropertyField(_spEffectArea); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(_spTransitionTexture); + EditorGUILayout.PropertyField(_spKeepAspectRatio); + EditorGUILayout.PropertyField(_spPassRayOnHidden); - //================ - // Effect player. - //================ - EditorGUILayout.PropertyField(_spPlay); - EditorGUILayout.PropertyField(_spDuration); - EditorGUILayout.PropertyField(_spInitialPlayDelay); - EditorGUILayout.PropertyField(_spLoop); - EditorGUILayout.PropertyField(_spLoopDelay); - EditorGUILayout.PropertyField(_spUpdateMode); + //================ + // Effect player. + //================ + EditorGUILayout.PropertyField(_spPlay); + EditorGUILayout.PropertyField(_spDuration); + EditorGUILayout.PropertyField(_spInitialPlayDelay); + EditorGUILayout.PropertyField(_spLoop); + EditorGUILayout.PropertyField(_spLoopDelay); + EditorGUILayout.PropertyField(_spUpdateMode); - // Debug. - using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) - { - GUILayout.Label("Debug"); + // Debug. + using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); - if (GUILayout.Button("Show", "ButtonLeft")) - { - (target as UITransitionEffect).Show(); - } + if (GUILayout.Button("Show", "ButtonLeft")) + { + (target as UITransitionEffect).Show(); + } - if (GUILayout.Button("Hide", "ButtonRight")) - { - (target as UITransitionEffect).Hide(); - } - } + if (GUILayout.Button("Hide", "ButtonRight")) + { + (target as UITransitionEffect).Hide(); + } + } - var current = target as UITransitionEffect; - current.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => - { - if (mat.shader == _spriteShader) - { - mat.shaderKeywords = current.material.shaderKeywords; - mat.SetTexture(s_NoiseTexId, current.material.GetTexture(s_NoiseTexId)); - } - }); - ShowCanvasChannelsWarning(); + var current = target as UITransitionEffect; + current.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => + { + if (mat.shader == _spriteShader) + { + mat.shaderKeywords = current.material.shaderKeywords; + mat.SetTexture(s_NoiseTexId, current.material.GetTexture(s_NoiseTexId)); + } + }); + ShowCanvasChannelsWarning(); - ShowMaterialEditors(current.materials, 1, current.materials.Length - 1); + ShowMaterialEditors(current.materials, 1, current.materials.Length - 1); - serializedObject.ApplyModifiedProperties(); - } + serializedObject.ApplyModifiedProperties(); + } - //################################ - // Private Members. - //################################ - SerializedProperty _spMaterial; - SerializedProperty _spEffectMode; - SerializedProperty _spEffectFactor; - SerializedProperty _spEffectArea; - SerializedProperty _spKeepAspectRatio; - SerializedProperty _spDissolveWidth; - SerializedProperty _spDissolveSoftness; - SerializedProperty _spDissolveColor; - SerializedProperty _spTransitionTexture; - SerializedProperty _spPlay; - SerializedProperty _spLoop; - SerializedProperty _spLoopDelay; - SerializedProperty _spDuration; - SerializedProperty _spInitialPlayDelay; - SerializedProperty _spUpdateMode; - SerializedProperty _spPassRayOnHidden; + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spEffectMode; + SerializedProperty _spEffectFactor; + SerializedProperty _spEffectArea; + SerializedProperty _spKeepAspectRatio; + SerializedProperty _spDissolveWidth; + SerializedProperty _spDissolveSoftness; + SerializedProperty _spDissolveColor; + SerializedProperty _spTransitionTexture; + SerializedProperty _spPlay; + SerializedProperty _spLoop; + SerializedProperty _spLoopDelay; + SerializedProperty _spDuration; + SerializedProperty _spInitialPlayDelay; + SerializedProperty _spUpdateMode; + SerializedProperty _spPassRayOnHidden; - Shader _shader; - Shader _mobileShader; - Shader _spriteShader; - } + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs index 983f40e..0b39541 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs @@ -1,432 +1,434 @@ using System; using UnityEngine; -using UnityEngine.UI; using UnityEngine.Serialization; +using UnityEngine.UI; namespace Coffee.UIExtensions { - /// - /// Dissolve effect for uGUI. - /// - [AddComponentMenu("UI/UIEffect/UIDissolve", 3)] - public class UIDissolve : UIEffectBase - { - //################################ - // Constant or Static Members. - //################################ - public const string shaderName = "UI/Hidden/UI-Effect-Dissolve"; - static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); + /// + /// Dissolve effect for uGUI. + /// + [AddComponentMenu("UI/UIEffect/UIDissolve", 3)] + public class UIDissolve : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-Dissolve"; + static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); - //################################ - // Serialize Members. - //################################ - [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; + //################################ + // Serialize Members. + //################################ + [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; - [Tooltip("Edge width.")] - [SerializeField] [Range(0, 1)] float m_Width = 0.5f; + [Tooltip("Edge width.")] + [SerializeField][Range(0, 1)] float m_Width = 0.5f; - [Tooltip("Edge softness.")] - [SerializeField] [Range(0, 1)] float m_Softness = 0.5f; + [Tooltip("Edge softness.")] + [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); + [Tooltip("Edge color.")] + [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; + [Tooltip("Edge color effect mode.")] + [SerializeField] ColorMode m_ColorMode = ColorMode.Add; - [Tooltip("Noise texture for dissolving (single channel texture).")] - [SerializeField] Texture m_NoiseTexture; + [Tooltip("Noise texture for dissolving (single channel texture).")] + [SerializeField] Texture m_NoiseTexture; - [Header("Advanced Option")] - [Tooltip("The area for effect.")] - [SerializeField] protected EffectArea m_EffectArea; + [Header("Advanced Option")] + [Tooltip("The area for effect.")] + [SerializeField] protected EffectArea m_EffectArea; - [Tooltip("Keep effect aspect ratio.")] - [SerializeField] bool m_KeepAspectRatio; + [Tooltip("Keep effect aspect ratio.")] + [SerializeField] bool m_KeepAspectRatio; - [Header("Effect Player")] - [SerializeField] EffectPlayer m_Player; + [Header("Effect Player")] + [SerializeField] EffectPlayer m_Player; - [Tooltip("Reverse the dissolve effect.")] - [FormerlySerializedAs("m_ReverseAnimation")] - [SerializeField] bool m_Reverse = false; + [Tooltip("Reverse the dissolve effect.")] + [FormerlySerializedAs("m_ReverseAnimation")] + [SerializeField] bool m_Reverse = false; - #pragma warning disable 0414 - [Obsolete][HideInInspector] - [SerializeField][Range(0.1f, 10)] float m_Duration = 1; - [Obsolete][HideInInspector] - [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal; - #pragma warning restore 0414 +#pragma warning disable 0414 + [Obsolete] + [HideInInspector] + [SerializeField][Range(0.1f, 10)] float m_Duration = 1; + [Obsolete] + [HideInInspector] + [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal; +#pragma warning restore 0414 - //################################ - // Public Members. - //################################ + //################################ + // Public Members. + //################################ - /// - /// Effect factor between 0(start) and 1(end). - /// - [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] - public float location - { - get { return m_EffectFactor; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_EffectFactor, value)) - { - m_EffectFactor = value; - SetDirty(); - } - } - } + /// + /// Effect factor between 0(start) and 1(end). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float location + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } - /// - /// Effect factor between 0(start) and 1(end). - /// - public float effectFactor - { - get { return m_EffectFactor; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_EffectFactor, value)) - { - m_EffectFactor = value; - SetDirty(); - } - } - } + /// + /// Effect factor between 0(start) and 1(end). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } - /// - /// Edge width. - /// - public float width - { - get { return m_Width; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Width, value)) - { - m_Width = value; - SetDirty(); - } - } - } + /// + /// Edge width. + /// + public float width + { + get { return m_Width; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Width, value)) + { + m_Width = value; + SetDirty(); + } + } + } - /// - /// Edge softness. - /// - public float softness - { - get { return m_Softness; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Softness, value)) - { - m_Softness = value; - SetDirty(); - } - } - } + /// + /// Edge softness. + /// + public float softness + { + get { return m_Softness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Softness, value)) + { + m_Softness = value; + SetDirty(); + } + } + } - /// - /// Edge color. - /// - public Color color - { - get { return m_Color; } - set - { - if (m_Color != value) - { - m_Color = value; - SetDirty(); - } - } - } + /// + /// Edge color. + /// + public Color color + { + get { return m_Color; } + set + { + if (m_Color != value) + { + m_Color = value; + SetDirty(); + } + } + } - /// - /// Noise texture. - /// - public Texture noiseTexture - { - get { return m_NoiseTexture ?? material.GetTexture("_NoiseTex"); } - set - { - if (m_NoiseTexture != value) - { - m_NoiseTexture = value; - if (graphic) - { - ModifyMaterial(); - } - } - } - } + /// + /// Noise texture. + /// + public Texture noiseTexture + { + get { return m_NoiseTexture ?? material.GetTexture("_NoiseTex"); } + set + { + if (m_NoiseTexture != value) + { + m_NoiseTexture = value; + if (graphic) + { + ModifyMaterial(); + } + } + } + } - /// - /// The area for effect. - /// - public EffectArea effectArea - { - get { return m_EffectArea; } - set - { - if (m_EffectArea != value) - { - m_EffectArea = value; - SetVerticesDirty(); - } - } - } + /// + /// The area for effect. + /// + public EffectArea effectArea + { + get { return m_EffectArea; } + set + { + if (m_EffectArea != value) + { + m_EffectArea = value; + SetVerticesDirty(); + } + } + } - /// - /// Keep aspect ratio. - /// - public bool keepAspectRatio - { - get { return m_KeepAspectRatio; } - set - { - if (m_KeepAspectRatio != value) - { - m_KeepAspectRatio = value; - SetVerticesDirty (); - } - } - } + /// + /// Keep aspect ratio. + /// + public bool keepAspectRatio + { + get { return m_KeepAspectRatio; } + set + { + if (m_KeepAspectRatio != value) + { + m_KeepAspectRatio = value; + SetVerticesDirty(); + } + } + } - /// - /// Color effect mode. - /// - public ColorMode colorMode { get { return m_ColorMode; } } + /// + /// Color effect mode. + /// + public ColorMode colorMode { get { return m_ColorMode; } } - /// - /// Play effect on enable. - /// - [System.Obsolete("Use Play/Stop method instead")] - public bool play { get { return _player.play; } set { _player.play = value; } } + /// + /// Play effect on enable. + /// + [System.Obsolete("Use Play/Stop method instead")] + public bool play { get { return _player.play; } set { _player.play = value; } } - /// - /// Play effect loop. - /// - [System.Obsolete] - public bool loop { get { return _player.loop; } set { _player.loop = value; } } + /// + /// Play effect loop. + /// + [System.Obsolete] + public bool loop { get { return _player.loop; } set { _player.loop = value; } } - /// - /// The duration for playing effect. - /// - public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } + /// + /// The duration for playing effect. + /// + public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } - /// - /// Delay on loop effect. - /// - [System.Obsolete] - public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } } + /// + /// Delay on loop effect. + /// + [System.Obsolete] + public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } } - /// - /// Update mode for playing effect. - /// - public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } + /// + /// Update mode for playing effect. + /// + public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } - /// - /// Reverse the dissolve effect. - /// - public bool reverse { get { return m_Reverse; } set { m_Reverse = value; } } + /// + /// Reverse the dissolve effect. + /// + public bool reverse { get { return m_Reverse; } set { m_Reverse = value; } } - /// - /// Gets the parameter texture. - /// - public override ParameterTexture ptex { get { return _ptex; } } + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } - /// - /// Modifies the material. - /// - public override void ModifyMaterial() - { - if (isTMPro) - { - return; - } + /// + /// Modifies the material. + /// + public override void ModifyMaterial() + { + if (isTMPro) + { + return; + } - ulong hash = (m_NoiseTexture ? (uint)m_NoiseTexture.GetInstanceID() : 0) + ((ulong)1 << 32) + ((ulong)m_ColorMode << 36); - if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial)) - { - MaterialCache.Unregister(_materialCache); - _materialCache = null; - } + ulong hash = (m_NoiseTexture ? (uint)m_NoiseTexture.GetInstanceID() : 0) + ((ulong)1 << 32) + ((ulong)m_ColorMode << 36); + if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial)) + { + MaterialCache.Unregister(_materialCache); + _materialCache = null; + } - if (!isActiveAndEnabled || !m_EffectMaterial) - { - material = null; - } - else if (!m_NoiseTexture) - { - material = m_EffectMaterial; - } - else if (_materialCache != null && _materialCache.hash == hash) - { - material = _materialCache.material; - } - else - { - _materialCache = MaterialCache.Register(hash, m_NoiseTexture, () => - { - var mat = new Material(m_EffectMaterial); - mat.name += "_" + m_NoiseTexture.name; - mat.SetTexture("_NoiseTex", m_NoiseTexture); - return mat; - }); - material = _materialCache.material; - } - } + if (!isActiveAndEnabled || !m_EffectMaterial) + { + material = null; + } + else if (!m_NoiseTexture) + { + material = m_EffectMaterial; + } + else if (_materialCache != null && _materialCache.hash == hash) + { + material = _materialCache.material; + } + else + { + _materialCache = MaterialCache.Register(hash, m_NoiseTexture, () => + { + var mat = new Material(m_EffectMaterial); + mat.name += "_" + m_NoiseTexture.name; + mat.SetTexture("_NoiseTex", m_NoiseTexture); + return mat; + }); + material = _materialCache.material; + } + } - /// - /// Modifies the mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!isActiveAndEnabled) - return; + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + return; - bool isText = isTMPro || graphic is Text; - float normalizedIndex = ptex.GetNormalizedIndex(this); + bool isText = isTMPro || graphic is Text; + float normalizedIndex = ptex.GetNormalizedIndex(this); - // rect. - var tex = noiseTexture; - var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1; - Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio); + // rect. + var tex = noiseTexture; + var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1; + Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio); - // Calculate vertex position. - UIVertex vertex = default(UIVertex); - float x, y; - int count = vh.currentVertCount; - 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); + // Calculate vertex position. + UIVertex vertex = default(UIVertex); + float x, y; + int count = vh.currentVertCount; + 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); - 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 + 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 - vh.SetUIVertex(vertex, i); - } - } + vh.SetUIVertex(vertex, i); + } + } - protected override void SetDirty() - { - foreach(var m in materials) - { - ptex.RegisterMaterial (m); - } - ptex.SetData(this, 0, m_EffectFactor); // param1.x : location - ptex.SetData(this, 1, m_Width); // param1.y : width - ptex.SetData(this, 2, m_Softness); // param1.z : softness - ptex.SetData(this, 4, m_Color.r); // param2.x : red - ptex.SetData(this, 5, m_Color.g); // param2.y : green - ptex.SetData(this, 6, m_Color.b); // param2.z : blue - } + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial(m); + } + ptex.SetData(this, 0, m_EffectFactor); // param1.x : location + ptex.SetData(this, 1, m_Width); // param1.y : width + ptex.SetData(this, 2, m_Softness); // param1.z : softness + ptex.SetData(this, 4, m_Color.r); // param2.x : red + ptex.SetData(this, 5, m_Color.g); // param2.y : green + ptex.SetData(this, 6, m_Color.b); // param2.z : blue + } - /// - /// Play effect. - /// - public void Play(bool reset = true) - { - _player.Play(reset); - } + /// + /// Play effect. + /// + public void Play(bool reset = true) + { + _player.Play(reset); + } - /// - /// Stop effect. - /// - public void Stop(bool reset = true) - { - _player.Stop(reset); - } + /// + /// Stop effect. + /// + public void Stop(bool reset = true) + { + _player.Stop(reset); + } - //################################ - // Protected Members. - //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable(); + //################################ + // Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); - _player.OnEnable((f) => - { - effectFactor = m_Reverse ? 1f - f : f; - }); - } + _player.OnEnable((f) => + { + effectFactor = m_Reverse ? 1f - f : f; + }); + } - protected override void OnDisable() - { - base.OnDisable (); - MaterialCache.Unregister(_materialCache); - _materialCache = null; - _player.OnDisable(); - } + protected override void OnDisable() + { + base.OnDisable(); + MaterialCache.Unregister(_materialCache); + _materialCache = null; + _player.OnDisable(); + } #if UNITY_EDITOR - /// - /// Gets the material. - /// - /// The material. - protected override Material GetMaterial() - { - if (isTMPro) - { - return null; - } + /// + /// Gets the material. + /// + /// The material. + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } - return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_ColorMode); - } + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_ColorMode); + } - #pragma warning disable 0612 - protected override void UpgradeIfNeeded() - { - // Upgrade for v3.0.0 - if (IsShouldUpgrade(300)) - { - _player.play = false; - _player.duration = m_Duration; - _player.loop = false; - _player.loopDelay = 1; - _player.updateMode = m_UpdateMode; - } - } - #pragma warning restore 0612 +#pragma warning disable 0612 + protected override void UpgradeIfNeeded() + { + // Upgrade for v3.0.0 + if (IsShouldUpgrade(300)) + { + _player.play = false; + _player.duration = m_Duration; + _player.loop = false; + _player.loopDelay = 1; + _player.updateMode = m_UpdateMode; + } + } +#pragma warning restore 0612 #endif - //################################ - // Private Members. - //################################ - MaterialCache _materialCache = null; + //################################ + // Private Members. + //################################ + MaterialCache _materialCache = null; - EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } } - } + EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs index 69ff52d..badda37 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs @@ -5,484 +5,490 @@ using UnityEngine.UI; using UnityEngine.Serialization; #if UNITY_EDITOR -using System.IO; using System.Linq; using UnityEditor; #endif namespace Coffee.UIExtensions { - /// - /// UIEffect. - /// - [ExecuteInEditMode] - [RequireComponent(typeof(Graphic))] - [DisallowMultipleComponent] - [AddComponentMenu("UI/UIEffect/UIEffect", 1)] - public class UIEffect : UIEffectBase - { - //################################ - // Constant or Static Members. - //################################ - public const string shaderName = "UI/Hidden/UI-Effect"; - static readonly ParameterTexture _ptex = new ParameterTexture(4, 1024, "_ParamTex"); + /// + /// UIEffect. + /// + [ExecuteInEditMode] + [RequireComponent(typeof(Graphic))] + [DisallowMultipleComponent] + [AddComponentMenu("UI/UIEffect/UIEffect", 1)] + public class UIEffect : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect"; + static readonly ParameterTexture _ptex = new ParameterTexture(4, 1024, "_ParamTex"); - //################################ - // Serialize Members. - //################################ - [FormerlySerializedAs("m_ToneLevel")] - [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")] - [SerializeField][Range(0, 1)] float m_EffectFactor = 1; + //################################ + // Serialize Members. + //################################ + [FormerlySerializedAs("m_ToneLevel")] + [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 1; - [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")] - [SerializeField][Range(0, 1)] float m_ColorFactor = 1; + [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")] + [SerializeField][Range(0, 1)] float m_ColorFactor = 1; - [FormerlySerializedAs("m_Blur")] - [Tooltip("How far is the blurring from the graphic.")] - [SerializeField][Range(0, 1)] float m_BlurFactor = 1; + [FormerlySerializedAs("m_Blur")] + [Tooltip("How far is the blurring from the graphic.")] + [SerializeField][Range(0, 1)] float m_BlurFactor = 1; - [FormerlySerializedAs("m_ToneMode")] - [Tooltip("Effect mode")] - [SerializeField] EffectMode m_EffectMode = EffectMode.None; + [FormerlySerializedAs("m_ToneMode")] + [Tooltip("Effect mode")] + [SerializeField] EffectMode m_EffectMode = EffectMode.None; - [Tooltip("Color effect mode")] - [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply; + [Tooltip("Color effect mode")] + [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply; - [Tooltip("Blur effect mode")] - [SerializeField] BlurMode m_BlurMode = BlurMode.None; + [Tooltip("Blur effect mode")] + [SerializeField] BlurMode m_BlurMode = BlurMode.None; - [Tooltip("Advanced blurring remove common artifacts in the blur effect for uGUI.")] - [SerializeField] bool m_AdvancedBlur = false; + [Tooltip("Advanced blurring remove common artifacts in the blur effect for uGUI.")] + [SerializeField] bool m_AdvancedBlur = false; - #pragma warning disable 0414 - [Obsolete][HideInInspector] - [SerializeField][Range(0, 1)] float m_ShadowBlur = 1; - [Obsolete][HideInInspector] - [SerializeField] ShadowStyle m_ShadowStyle; - [Obsolete][HideInInspector] - [SerializeField] Color m_ShadowColor = Color.black; - [Obsolete][HideInInspector] - [SerializeField] Vector2 m_EffectDistance = new Vector2(1f, -1f); - [Obsolete][HideInInspector] - [SerializeField] bool m_UseGraphicAlpha = true; - [Obsolete][HideInInspector] - [SerializeField] Color m_EffectColor = Color.white; - [Obsolete][HideInInspector] - [SerializeField] List m_AdditionalShadows = new List(); - #pragma warning restore 0414 +#pragma warning disable 0414 + [Obsolete] + [HideInInspector] + [SerializeField][Range(0, 1)] float m_ShadowBlur = 1; + [Obsolete] + [HideInInspector] + [SerializeField] ShadowStyle m_ShadowStyle; + [Obsolete] + [HideInInspector] + [SerializeField] Color m_ShadowColor = Color.black; + [Obsolete] + [HideInInspector] + [SerializeField] Vector2 m_EffectDistance = new Vector2(1f, -1f); + [Obsolete] + [HideInInspector] + [SerializeField] bool m_UseGraphicAlpha = true; + [Obsolete] + [HideInInspector] + [SerializeField] Color m_EffectColor = Color.white; + [Obsolete] + [HideInInspector] + [SerializeField] List m_AdditionalShadows = new List(); +#pragma warning restore 0414 - public enum BlurEx - { - None = 0, - Ex = 1, - } + public enum BlurEx + { + None = 0, + Ex = 1, + } - //################################ - // Public Members. - //################################ + //################################ + // Public Members. + //################################ #if UNITY_2017_1_OR_NEWER - public override AdditionalCanvasShaderChannels requiredChannels - { - get - { - if (advancedBlur) - { - return isTMPro - ? AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.TexCoord2 - : AdditionalCanvasShaderChannels.TexCoord1; - } - return AdditionalCanvasShaderChannels.None; - } - } + public override AdditionalCanvasShaderChannels requiredChannels + { + get + { + if (advancedBlur) + { + return isTMPro + ? AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.TexCoord2 + : AdditionalCanvasShaderChannels.TexCoord1; + } + return AdditionalCanvasShaderChannels.None; + } + } #endif - /// - /// Effect factor between 0(no effect) and 1(complete effect). - /// - [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] - public float toneLevel - { - get { return m_EffectFactor; } - set - { - m_EffectFactor = Mathf.Clamp(value, 0, 1); - SetDirty(); - } - } + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float toneLevel + { + get { return m_EffectFactor; } + set + { + m_EffectFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } - /// - /// Effect factor between 0(no effect) and 1(complete effect). - /// - public float effectFactor - { - get { return m_EffectFactor; } - set - { - m_EffectFactor = Mathf.Clamp(value, 0, 1); - SetDirty(); - } - } + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + m_EffectFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } - /// - /// Color effect factor between 0(no effect) and 1(complete effect). - /// - public float colorFactor - { - get { return m_ColorFactor; } - set - { - m_ColorFactor = Mathf.Clamp(value, 0, 1); - SetDirty(); - } - } + /// + /// Color effect factor between 0(no effect) and 1(complete effect). + /// + public float colorFactor + { + get { return m_ColorFactor; } + set + { + m_ColorFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } - /// - /// How far is the blurring from the graphic. - /// - [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] - public float blur - { - get { return m_BlurFactor; } - set - { - m_BlurFactor = Mathf.Clamp(value, 0, 1); - SetDirty(); - } - } + /// + /// How far is the blurring from the graphic. + /// + [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] + public float blur + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } - /// - /// How far is the blurring from the graphic. - /// - [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] - public float blurFactor - { - get { return m_BlurFactor; } - set - { - m_BlurFactor = Mathf.Clamp(value, 0, 1); - SetDirty(); - } - } + /// + /// How far is the blurring from the graphic. + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float blurFactor + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } - /// - /// Effect mode(readonly). - /// - [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")] - public EffectMode toneMode { get { return m_EffectMode; } } + /// + /// Effect mode(readonly). + /// + [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")] + public EffectMode toneMode { get { return m_EffectMode; } } - /// - /// Effect mode(readonly). - /// - public EffectMode effectMode { get { return m_EffectMode; } } + /// + /// Effect mode(readonly). + /// + public EffectMode effectMode { get { return m_EffectMode; } } - /// - /// Color effect mode(readonly). - /// - public ColorMode colorMode { get { return m_ColorMode; } } + /// + /// Color effect mode(readonly). + /// + public ColorMode colorMode { get { return m_ColorMode; } } - /// - /// Blur effect mode(readonly). - /// - public BlurMode blurMode { get { return m_BlurMode; } } + /// + /// Blur effect mode(readonly). + /// + public BlurMode blurMode { get { return m_BlurMode; } } - /// - /// Color for the color effect. - /// - public Color effectColor - { - get { return graphic.color; } - set - { - graphic.color = value; - SetDirty(); - } - } + /// + /// Color for the color effect. + /// + public Color effectColor + { + get { return graphic.color; } + set + { + graphic.color = value; + SetDirty(); + } + } - /// - /// Gets the parameter texture. - /// - public override ParameterTexture ptex { get { return _ptex; } } + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } - /// - /// Advanced blurring remove common artifacts in the blur effect for uGUI. - /// - public bool advancedBlur { get { return isTMPro ? (material && material.IsKeywordEnabled("EX")) : m_AdvancedBlur; } } + /// + /// Advanced blurring remove common artifacts in the blur effect for uGUI. + /// + public bool advancedBlur { get { return isTMPro ? (material && material.IsKeywordEnabled("EX")) : m_AdvancedBlur; } } - /// - /// Modifies the mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!isActiveAndEnabled) - { - return; - } + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + { + return; + } - float normalizedIndex = ptex.GetNormalizedIndex(this); + float normalizedIndex = ptex.GetNormalizedIndex(this); - if (m_BlurMode != BlurMode.None && advancedBlur) - { - vh.GetUIVertexStream(tempVerts); - vh.Clear(); - var count = tempVerts.Count; + if (m_BlurMode != BlurMode.None && advancedBlur) + { + vh.GetUIVertexStream(tempVerts); + vh.Clear(); + var count = tempVerts.Count; - // Bundle - int bundleSize = (targetGraphic is Text || isTMPro) ? 6 : count; - Rect posBounds = default(Rect); - Rect uvBounds = default(Rect); - Vector3 size = default(Vector3); - Vector3 tPos = default(Vector3); - Vector3 tUV = default(Vector3); - float expand = (float)blurMode * 6 * 2; + // Bundle + int bundleSize = (targetGraphic is Text || isTMPro) ? 6 : count; + Rect posBounds = default(Rect); + Rect uvBounds = default(Rect); + Vector3 size = default(Vector3); + Vector3 tPos = default(Vector3); + Vector3 tUV = default(Vector3); + float expand = (float)blurMode * 6 * 2; - for (int i = 0; i < count; i += bundleSize) - { - // min/max for bundled-quad - GetBounds(tempVerts, i, bundleSize, ref posBounds, ref uvBounds, true); + for (int i = 0; i < count; i += bundleSize) + { + // min/max for bundled-quad + GetBounds(tempVerts, i, bundleSize, ref posBounds, ref uvBounds, true); - // Pack uv mask. - Vector2 uvMask = new Vector2(Packer.ToFloat(uvBounds.xMin, uvBounds.yMin), Packer.ToFloat(uvBounds.xMax, uvBounds.yMax)); + // Pack uv mask. + Vector2 uvMask = new Vector2(Packer.ToFloat(uvBounds.xMin, uvBounds.yMin), Packer.ToFloat(uvBounds.xMax, uvBounds.yMax)); - // Quad - for (int j = 0; j < bundleSize; j += 6) - { - Vector3 cornerPos1 = tempVerts[i + j + 1].position; - Vector3 cornerPos2 = tempVerts[i + j + 4].position; + // Quad + for (int j = 0; j < bundleSize; j += 6) + { + Vector3 cornerPos1 = tempVerts[i + j + 1].position; + Vector3 cornerPos2 = tempVerts[i + j + 4].position; - // Is outer quad? - bool hasOuterEdge = (bundleSize == 6) - || !posBounds.Contains(cornerPos1) - || !posBounds.Contains(cornerPos2); - if (hasOuterEdge) - { - Vector3 cornerUv1 = tempVerts[i + j + 1].uv0; - Vector3 cornerUv2 = tempVerts[i + j + 4].uv0; + // Is outer quad? + bool hasOuterEdge = (bundleSize == 6) + || !posBounds.Contains(cornerPos1) + || !posBounds.Contains(cornerPos2); + if (hasOuterEdge) + { + Vector3 cornerUv1 = tempVerts[i + j + 1].uv0; + Vector3 cornerUv2 = tempVerts[i + j + 4].uv0; - Vector3 centerPos = (cornerPos1 + cornerPos2) / 2; - Vector3 centerUV = (cornerUv1 + cornerUv2) / 2; - size = (cornerPos1 - cornerPos2); + Vector3 centerPos = (cornerPos1 + cornerPos2) / 2; + Vector3 centerUV = (cornerUv1 + cornerUv2) / 2; + size = (cornerPos1 - cornerPos2); - size.x = 1 + expand / Mathf.Abs(size.x); - size.y = 1 + expand / Mathf.Abs(size.y); - size.z = 1 + expand / Mathf.Abs(size.z); + size.x = 1 + expand / Mathf.Abs(size.x); + size.y = 1 + expand / Mathf.Abs(size.y); + size.z = 1 + expand / Mathf.Abs(size.z); - tPos = centerPos - Vector3.Scale(size, centerPos); - tUV = centerUV - Vector3.Scale(size, centerUV); - } + tPos = centerPos - Vector3.Scale(size, centerPos); + tUV = centerUV - Vector3.Scale(size, centerUV); + } - // Vertex - for (int k = 0; k < 6; k++) - { - UIVertex vt = tempVerts[i + j + k]; + // Vertex + for (int k = 0; k < 6; k++) + { + UIVertex vt = tempVerts[i + j + k]; - Vector3 pos = vt.position; - Vector2 uv0 = vt.uv0; + Vector3 pos = vt.position; + Vector2 uv0 = vt.uv0; - if (hasOuterEdge && (pos.x < posBounds.xMin || posBounds.xMax < pos.x)) - { - pos.x = pos.x * size.x + tPos.x; - uv0.x = uv0.x * size.x + tUV.x; - } - if (hasOuterEdge && (pos.y < posBounds.yMin || posBounds.yMax < pos.y)) - { - pos.y = pos.y * size.y + tPos.y; - uv0.y = uv0.y * size.y + tUV.y; - } + if (hasOuterEdge && (pos.x < posBounds.xMin || posBounds.xMax < pos.x)) + { + pos.x = pos.x * size.x + tPos.x; + uv0.x = uv0.x * size.x + tUV.x; + } + if (hasOuterEdge && (pos.y < posBounds.yMin || posBounds.yMax < pos.y)) + { + pos.y = pos.y * size.y + tPos.y; + uv0.y = uv0.y * size.y + tUV.y; + } - vt.uv0 = new Vector2(Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), normalizedIndex); - vt.position = pos; + vt.uv0 = new Vector2(Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), normalizedIndex); + vt.position = pos; - if (isTMPro) - { - #if UNITY_2017_1_OR_NEWER - vt.uv2 = uvMask; - #endif - } - else - { - vt.uv1 = uvMask; - } + if (isTMPro) + { +#if UNITY_2017_1_OR_NEWER + vt.uv2 = uvMask; +#endif + } + else + { + vt.uv1 = uvMask; + } - tempVerts[i + j + k] = vt; - } - } - } + tempVerts[i + j + k] = vt; + } + } + } - vh.AddUIVertexTriangleStream(tempVerts); - tempVerts.Clear(); - } - else - { - int count = vh.currentVertCount; - UIVertex vt = default(UIVertex); - for (int i = 0; i < count; i++) - { - vh.PopulateUIVertex(ref vt, i); - Vector2 uv0 = vt.uv0; - vt.uv0 = new Vector2( - Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), - normalizedIndex - ); - vh.SetUIVertex(vt, i); - } - } - } + vh.AddUIVertexTriangleStream(tempVerts); + tempVerts.Clear(); + } + else + { + int count = vh.currentVertCount; + UIVertex vt = default(UIVertex); + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vt, i); + Vector2 uv0 = vt.uv0; + vt.uv0 = new Vector2( + Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), + normalizedIndex + ); + vh.SetUIVertex(vt, i); + } + } + } - protected override void SetDirty() - { - foreach (var m in materials) - { - ptex.RegisterMaterial (m); - } - ptex.SetData(this, 0, m_EffectFactor); // param.x : effect factor - ptex.SetData(this, 1, m_ColorFactor); // param.y : color factor - ptex.SetData(this, 2, m_BlurFactor); // param.z : blur factor - } + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial(m); + } + ptex.SetData(this, 0, m_EffectFactor); // param.x : effect factor + ptex.SetData(this, 1, m_ColorFactor); // param.y : color factor + ptex.SetData(this, 2, m_BlurFactor); // param.z : blur factor + } #if UNITY_EDITOR - /// - /// Gets the material. - /// - /// The material. - protected override Material GetMaterial() - { - if (isTMPro) - { - return null; - } - return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode, m_AdvancedBlur ? BlurEx.Ex : BlurEx.None); - } + /// + /// Gets the material. + /// + /// The material. + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode, m_AdvancedBlur ? BlurEx.Ex : BlurEx.None); + } - #pragma warning disable 0612 - protected override void UpgradeIfNeeded() - { - // Upgrade for v3.0.0 - if (IsShouldUpgrade(300)) - { - if (m_ColorMode != ColorMode.Multiply) - { - Color col = targetGraphic.color; - col.r = m_EffectColor.r; - col.g = m_EffectColor.g; - col.b = m_EffectColor.b; - targetGraphic.color = col; - m_ColorFactor = m_EffectColor.a; - } +#pragma warning disable 0612 + protected override void UpgradeIfNeeded() + { + // Upgrade for v3.0.0 + if (IsShouldUpgrade(300)) + { + if (m_ColorMode != ColorMode.Multiply) + { + Color col = targetGraphic.color; + col.r = m_EffectColor.r; + col.g = m_EffectColor.g; + col.b = m_EffectColor.b; + targetGraphic.color = col; + m_ColorFactor = m_EffectColor.a; + } - if (m_ShadowStyle != ShadowStyle.None || m_AdditionalShadows.Any(x => x.style != ShadowStyle.None)) - { - if (m_ShadowStyle != ShadowStyle.None) - { - var shadow = gameObject.GetComponent() ?? gameObject.AddComponent(); - shadow.style = m_ShadowStyle; - shadow.effectDistance = m_EffectDistance; - shadow.effectColor = m_ShadowColor; - shadow.useGraphicAlpha = m_UseGraphicAlpha; - shadow.blurFactor = m_ShadowBlur; - } + if (m_ShadowStyle != ShadowStyle.None || m_AdditionalShadows.Any(x => x.style != ShadowStyle.None)) + { + if (m_ShadowStyle != ShadowStyle.None) + { + var shadow = gameObject.GetComponent() ?? gameObject.AddComponent(); + shadow.style = m_ShadowStyle; + shadow.effectDistance = m_EffectDistance; + shadow.effectColor = m_ShadowColor; + shadow.useGraphicAlpha = m_UseGraphicAlpha; + shadow.blurFactor = m_ShadowBlur; + } - foreach (var s in m_AdditionalShadows) - { - if (s.style == ShadowStyle.None) - { - continue; - } + foreach (var s in m_AdditionalShadows) + { + if (s.style == ShadowStyle.None) + { + continue; + } - var shadow = gameObject.AddComponent(); - shadow.style = s.style; - shadow.effectDistance = s.effectDistance; - shadow.effectColor = s.effectColor; - shadow.useGraphicAlpha = s.useGraphicAlpha; - shadow.blurFactor = s.blur; - } + var shadow = gameObject.AddComponent(); + shadow.style = s.style; + shadow.effectDistance = s.effectDistance; + shadow.effectColor = s.effectColor; + shadow.useGraphicAlpha = s.useGraphicAlpha; + shadow.blurFactor = s.blur; + } - m_ShadowStyle = ShadowStyle.None; - m_AdditionalShadows = null; + m_ShadowStyle = ShadowStyle.None; + m_AdditionalShadows = null; - if (m_EffectMode == EffectMode.None && m_ColorMode == ColorMode.Multiply && m_BlurMode == BlurMode.None) - { - DestroyImmediate(this, true); - } - } + if (m_EffectMode == EffectMode.None && m_ColorMode == ColorMode.Multiply && m_BlurMode == BlurMode.None) + { + DestroyImmediate(this, true); + } + } - int tone = (int)m_EffectMode; - const int Mono = 5; - const int Cutoff = 6; - const int Hue = 7; - if (tone == Hue) - { - var go = gameObject; - var hue = m_EffectFactor; - DestroyImmediate(this, true); - var hsv = go.GetComponent() ?? go.AddComponent(); - hsv.hue = hue; - hsv.range = 1; - } + int tone = (int)m_EffectMode; + const int Mono = 5; + const int Cutoff = 6; + const int Hue = 7; + if (tone == Hue) + { + var go = gameObject; + var hue = m_EffectFactor; + DestroyImmediate(this, true); + var hsv = go.GetComponent() ?? go.AddComponent(); + hsv.hue = hue; + hsv.range = 1; + } - // Cutoff/Mono - if (tone == Cutoff || tone == Mono) - { - var go = gameObject; - var factor = m_EffectFactor; - var transitionMode = tone == Cutoff - ? UITransitionEffect.EffectMode.Cutoff - : UITransitionEffect.EffectMode.Fade; - DestroyImmediate(this, true); - var trans = go.GetComponent() ?? go.AddComponent(); - trans.effectFactor = factor; + // Cutoff/Mono + if (tone == Cutoff || tone == Mono) + { + var go = gameObject; + var factor = m_EffectFactor; + var transitionMode = tone == Cutoff + ? UITransitionEffect.EffectMode.Cutoff + : UITransitionEffect.EffectMode.Fade; + DestroyImmediate(this, true); + var trans = go.GetComponent() ?? go.AddComponent(); + trans.effectFactor = factor; - var sp = new SerializedObject(trans).FindProperty("m_EffectMode"); - sp.intValue = (int)transitionMode; - sp.serializedObject.ApplyModifiedProperties(); - } - } - } - #pragma warning restore 0612 + var sp = new SerializedObject(trans).FindProperty("m_EffectMode"); + sp.intValue = (int)transitionMode; + sp.serializedObject.ApplyModifiedProperties(); + } + } + } +#pragma warning restore 0612 #endif - //################################ - // Private Members. - //################################ - static void GetBounds(List verts, int start, int count, ref Rect posBounds, ref Rect uvBounds, bool global) - { - Vector2 minPos = new Vector2(float.MaxValue, float.MaxValue); - Vector2 maxPos = new Vector2(float.MinValue, float.MinValue); - Vector2 minUV = new Vector2(float.MaxValue, float.MaxValue); - Vector2 maxUV = new Vector2(float.MinValue, float.MinValue); - for (int i = start; i < start + count; i++) - { - UIVertex vt = verts[i]; + //################################ + // Private Members. + //################################ + static void GetBounds(List verts, int start, int count, ref Rect posBounds, ref Rect uvBounds, bool global) + { + Vector2 minPos = new Vector2(float.MaxValue, float.MaxValue); + Vector2 maxPos = new Vector2(float.MinValue, float.MinValue); + Vector2 minUV = new Vector2(float.MaxValue, float.MaxValue); + Vector2 maxUV = new Vector2(float.MinValue, float.MinValue); + for (int i = start; i < start + count; i++) + { + UIVertex vt = verts[i]; - Vector2 uv = vt.uv0; - Vector3 pos = vt.position; + Vector2 uv = vt.uv0; + Vector3 pos = vt.position; - // Left-Bottom - if (minPos.x >= pos.x && minPos.y >= pos.y) - { - minPos = pos; - } - // Right-Top - else if (maxPos.x <= pos.x && maxPos.y <= pos.y) - { - maxPos = pos; - } + // Left-Bottom + if (minPos.x >= pos.x && minPos.y >= pos.y) + { + minPos = pos; + } + // Right-Top + else if (maxPos.x <= pos.x && maxPos.y <= pos.y) + { + maxPos = pos; + } - // Left-Bottom - if (minUV.x >= uv.x && minUV.y >= uv.y) - { - minUV = uv; - } - // Right-Top - else if (maxUV.x <= uv.x && maxUV.y <= uv.y) - { - maxUV = uv; - } - } + // Left-Bottom + if (minUV.x >= uv.x && minUV.y >= uv.y) + { + minUV = uv; + } + // Right-Top + else if (maxUV.x <= uv.x && maxUV.y <= uv.y) + { + maxUV = uv; + } + } - // Shrink coordinate for detect edge - posBounds.Set(minPos.x + 0.001f, minPos.y + 0.001f, maxPos.x - minPos.x - 0.002f, maxPos.y - minPos.y - 0.002f); - uvBounds.Set(minUV.x, minUV.y, maxUV.x - minUV.x, maxUV.y - minUV.y); - } - } + // Shrink coordinate for detect edge + posBounds.Set(minPos.x + 0.001f, minPos.y + 0.001f, maxPos.x - minPos.x - 0.002f, maxPos.y - minPos.y - 0.002f); + uvBounds.Set(minUV.x, minUV.y, maxUV.x - minUV.x, maxUV.y - minUV.y); + } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs index bbaac10..aa204f2 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs @@ -1,552 +1,552 @@ using System.Collections; using System.Linq; using UnityEngine; -using UnityEngine.Serialization; using UnityEngine.Rendering; +using UnityEngine.Serialization; using UnityEngine.UI; namespace Coffee.UIExtensions { - /// - /// UIEffectCapturedImage - /// - [AddComponentMenu("UI/UIEffect/UIEffectCapturedImage", 200)] - public class UIEffectCapturedImage : RawImage + /// + /// UIEffectCapturedImage + /// + [AddComponentMenu("UI/UIEffect/UIEffectCapturedImage", 200)] + public class UIEffectCapturedImage : RawImage #if UNITY_EDITOR - , ISerializationCallbackReceiver + , ISerializationCallbackReceiver #endif - { + { - //################################ - // Constant or Static Members. - //################################ - public const string shaderName = "UI/Hidden/UI-EffectCapture"; + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-EffectCapture"; - /// - /// Desampling rate. - /// - public enum DesamplingRate - { - None = 0, - x1 = 1, - x2 = 2, - x4 = 4, - x8 = 8, - } + /// + /// Desampling rate. + /// + public enum DesamplingRate + { + None = 0, + x1 = 1, + x2 = 2, + x4 = 4, + x8 = 8, + } - //################################ - // Serialize Members. - //################################ - [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")] - [FormerlySerializedAs("m_ToneLevel")] - [SerializeField][Range(0, 1)] float m_EffectFactor = 1; + //################################ + // Serialize Members. + //################################ + [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")] + [FormerlySerializedAs("m_ToneLevel")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 1; - [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")] - [SerializeField][Range(0, 1)] float m_ColorFactor = 1; + [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")] + [SerializeField][Range(0, 1)] float m_ColorFactor = 1; - [Tooltip("How far is the blurring from the graphic.")] - [FormerlySerializedAs("m_Blur")] - [SerializeField][Range(0, 1)] float m_BlurFactor = 1; + [Tooltip("How far is the blurring from the graphic.")] + [FormerlySerializedAs("m_Blur")] + [SerializeField][Range(0, 1)] float m_BlurFactor = 1; - [Tooltip("Effect mode.")] - [FormerlySerializedAs("m_ToneMode")] - [SerializeField] EffectMode m_EffectMode = EffectMode.None; + [Tooltip("Effect mode.")] + [FormerlySerializedAs("m_ToneMode")] + [SerializeField] EffectMode m_EffectMode = EffectMode.None; - [Tooltip("Color effect mode.")] - [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply; + [Tooltip("Color effect mode.")] + [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply; - [Tooltip("Blur effect mode.")] - [SerializeField] BlurMode m_BlurMode = BlurMode.DetailBlur; + [Tooltip("Blur effect mode.")] + [SerializeField] BlurMode m_BlurMode = BlurMode.DetailBlur; - [Tooltip("Color for the color effect.")] - [SerializeField] Color m_EffectColor = Color.white; + [Tooltip("Color for the color effect.")] + [SerializeField] Color m_EffectColor = Color.white; - [Tooltip("Desampling rate of the generated RenderTexture.")] - [SerializeField] DesamplingRate m_DesamplingRate = DesamplingRate.x1; + [Tooltip("Desampling rate of the generated RenderTexture.")] + [SerializeField] DesamplingRate m_DesamplingRate = DesamplingRate.x1; - [Tooltip("Desampling rate of reduction buffer to apply effect.")] - [SerializeField] DesamplingRate m_ReductionRate = DesamplingRate.x1; + [Tooltip("Desampling rate of reduction buffer to apply effect.")] + [SerializeField] DesamplingRate m_ReductionRate = DesamplingRate.x1; - [Tooltip("FilterMode for capturing.")] - [SerializeField] FilterMode m_FilterMode = FilterMode.Bilinear; + [Tooltip("FilterMode for capturing.")] + [SerializeField] FilterMode m_FilterMode = FilterMode.Bilinear; - [Tooltip("Effect material.")] - [SerializeField] Material m_EffectMaterial = null; + [Tooltip("Effect material.")] + [SerializeField] Material m_EffectMaterial = null; - [Tooltip("Blur iterations.")] - [FormerlySerializedAs("m_Iterations")] - [SerializeField][Range(1, 8)] int m_BlurIterations = 3; + [Tooltip("Blur iterations.")] + [FormerlySerializedAs("m_Iterations")] + [SerializeField][Range(1, 8)] int m_BlurIterations = 3; - [Tooltip("Fits graphic size to screen on captured.")] - [FormerlySerializedAs("m_KeepCanvasSize")] - [SerializeField] bool m_FitToScreen = true; + [Tooltip("Fits graphic size to screen on captured.")] + [FormerlySerializedAs("m_KeepCanvasSize")] + [SerializeField] bool m_FitToScreen = true; - [Tooltip("Capture automatically on enable.")] - [SerializeField] bool m_CaptureOnEnable = false; + [Tooltip("Capture automatically on enable.")] + [SerializeField] bool m_CaptureOnEnable = false; - //################################ - // Public Members. - //################################ - /// - /// Effect factor between 0(no effect) and 1(complete effect). - /// - [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] - public float toneLevel { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } } + //################################ + // Public Members. + //################################ + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float toneLevel { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } } - /// - /// Effect factor between 0(no effect) and 1(complete effect). - /// - public float effectFactor { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } } + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + public float effectFactor { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } } - /// - /// Color effect factor between 0(no effect) and 1(complete effect). - /// - public float colorFactor { get { return m_ColorFactor; } set { m_ColorFactor = Mathf.Clamp(value, 0, 1); } } + /// + /// Color effect factor between 0(no effect) and 1(complete effect). + /// + public float colorFactor { get { return m_ColorFactor; } set { m_ColorFactor = Mathf.Clamp(value, 0, 1); } } - /// - /// How far is the blurring from the graphic. - /// - [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] - public float blur { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } } + /// + /// How far is the blurring from the graphic. + /// + [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] + public float blur { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } } - /// - /// How far is the blurring from the graphic. - /// - public float blurFactor { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } } + /// + /// How far is the blurring from the graphic. + /// + public float blurFactor { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } } - /// - /// Tone effect mode. - /// - [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")] - public EffectMode toneMode { get { return m_EffectMode; } } + /// + /// Tone effect mode. + /// + [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")] + public EffectMode toneMode { get { return m_EffectMode; } } - /// - /// Effect mode. - /// - public EffectMode effectMode { get { return m_EffectMode; } } + /// + /// Effect mode. + /// + public EffectMode effectMode { get { return m_EffectMode; } } - /// - /// Color effect mode. - /// - public ColorMode colorMode { get { return m_ColorMode; } } + /// + /// Color effect mode. + /// + public ColorMode colorMode { get { return m_ColorMode; } } - /// - /// Blur effect mode. - /// - public BlurMode blurMode { get { return m_BlurMode; } } + /// + /// Blur effect mode. + /// + public BlurMode blurMode { get { return m_BlurMode; } } - /// - /// Color for the color effect. - /// - public Color effectColor { get { return m_EffectColor; } set { m_EffectColor = value; } } + /// + /// Color for the color effect. + /// + public Color effectColor { get { return m_EffectColor; } set { m_EffectColor = value; } } - /// - /// Effect material. - /// - public virtual Material effectMaterial { get { return m_EffectMaterial; } } + /// + /// Effect material. + /// + public virtual Material effectMaterial { get { return m_EffectMaterial; } } - /// - /// Desampling rate of the generated RenderTexture. - /// - public DesamplingRate desamplingRate { get { return m_DesamplingRate; } set { m_DesamplingRate = value; } } + /// + /// Desampling rate of the generated RenderTexture. + /// + public DesamplingRate desamplingRate { get { return m_DesamplingRate; } set { m_DesamplingRate = value; } } - /// - /// Desampling rate of reduction buffer to apply effect. - /// - public DesamplingRate reductionRate { get { return m_ReductionRate; } set { m_ReductionRate = value; } } + /// + /// Desampling rate of reduction buffer to apply effect. + /// + public DesamplingRate reductionRate { get { return m_ReductionRate; } set { m_ReductionRate = value; } } - /// - /// FilterMode for capturing. - /// - public FilterMode filterMode { get { return m_FilterMode; } set { m_FilterMode = value; } } + /// + /// FilterMode for capturing. + /// + public FilterMode filterMode { get { return m_FilterMode; } set { m_FilterMode = value; } } - /// - /// Captured texture. - /// - public RenderTexture capturedTexture { get { return _rt; } } + /// + /// Captured texture. + /// + public RenderTexture capturedTexture { get { return _rt; } } - /// - /// Blur iterations. - /// - [System.Obsolete("Use blurIterations instead (UnityUpgradable) -> blurIterations")] - public int iterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } } + /// + /// Blur iterations. + /// + [System.Obsolete("Use blurIterations instead (UnityUpgradable) -> blurIterations")] + public int iterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } } - /// - /// Blur iterations. - /// - public int blurIterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } } + /// + /// Blur iterations. + /// + public int blurIterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } } - /// - /// Fits graphic size to screen. - /// - [System.Obsolete("Use fitToScreen instead (UnityUpgradable) -> fitToScreen")] - public bool keepCanvasSize { get { return m_FitToScreen; } set { m_FitToScreen = value; } } + /// + /// Fits graphic size to screen. + /// + [System.Obsolete("Use fitToScreen instead (UnityUpgradable) -> fitToScreen")] + public bool keepCanvasSize { get { return m_FitToScreen; } set { m_FitToScreen = value; } } - /// - /// Fits graphic size to screen on captured. - /// - public bool fitToScreen { get { return m_FitToScreen; } set { m_FitToScreen = value; } } + /// + /// Fits graphic size to screen on captured. + /// + public bool fitToScreen { get { return m_FitToScreen; } set { m_FitToScreen = value; } } - /// - /// Target RenderTexture to capture. - /// - [System.Obsolete] - public RenderTexture targetTexture { get { return null; } set { } } + /// + /// Target RenderTexture to capture. + /// + [System.Obsolete] + public RenderTexture targetTexture { get { return null; } set { } } - /// - /// Capture automatically on enable. - /// - public bool captureOnEnable { get { return m_CaptureOnEnable; } set { m_CaptureOnEnable = value; } } + /// + /// Capture automatically on enable. + /// + public bool captureOnEnable { get { return m_CaptureOnEnable; } set { m_CaptureOnEnable = value; } } - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable(); - if (m_CaptureOnEnable && Application.isPlaying) - { - Capture(); - } - } + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + if (m_CaptureOnEnable && Application.isPlaying) + { + Capture(); + } + } - protected override void OnDisable() - { - base.OnDisable(); - if (m_CaptureOnEnable && Application.isPlaying) - { - _Release(false); - texture = null; - } - } + protected override void OnDisable() + { + base.OnDisable(); + if (m_CaptureOnEnable && Application.isPlaying) + { + _Release(false); + texture = null; + } + } - /// - /// This function is called when the MonoBehaviour will be destroyed. - /// - protected override void OnDestroy() - { - Release(); - base.OnDestroy(); - } + /// + /// This function is called when the MonoBehaviour will be destroyed. + /// + protected override void OnDestroy() + { + Release(); + base.OnDestroy(); + } - /// - /// Callback function when a UI element needs to generate vertices. - /// - protected override void OnPopulateMesh(VertexHelper vh) - { - // When not displaying, clear vertex. - if (texture == null || color.a < 1 / 255f || canvasRenderer.GetAlpha() < 1 / 255f) - { - vh.Clear(); - } - else - { - base.OnPopulateMesh(vh); - int count = vh.currentVertCount; - UIVertex vt = default(UIVertex); - Color c = color; - for (int i = 0; i < count; i++) - { - vh.PopulateUIVertex(ref vt, i); - vt.color = c; - vh.SetUIVertex(vt, i); - } - } - } + /// + /// Callback function when a UI element needs to generate vertices. + /// + protected override void OnPopulateMesh(VertexHelper vh) + { + // When not displaying, clear vertex. + if (texture == null || color.a < 1 / 255f || canvasRenderer.GetAlpha() < 1 / 255f) + { + vh.Clear(); + } + else + { + base.OnPopulateMesh(vh); + int count = vh.currentVertCount; + UIVertex vt = default(UIVertex); + Color c = color; + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vt, i); + vt.color = c; + vh.SetUIVertex(vt, i); + } + } + } - /// - /// Gets the size of the desampling. - /// - public void GetDesamplingSize(DesamplingRate rate, out int w, out int h) - { + /// + /// Gets the size of the desampling. + /// + public void GetDesamplingSize(DesamplingRate rate, out int w, out int h) + { #if UNITY_EDITOR - if (!Application.isPlaying) - { - var res = UnityEditor.UnityStats.screenRes.Split('x'); - w = int.Parse(res[0]); - h = int.Parse(res[1]); - } - else + if (!Application.isPlaying) + { + var res = UnityEditor.UnityStats.screenRes.Split('x'); + w = int.Parse(res[0]); + h = int.Parse(res[1]); + } + else #endif - { - w = Screen.width; - h = Screen.height; - } + { + w = Screen.width; + h = Screen.height; + } - if (rate == DesamplingRate.None) - return; + if (rate == DesamplingRate.None) + return; - float aspect = (float)w / h; - if (w < h) - { - h = Mathf.ClosestPowerOfTwo(h / (int)rate); - w = Mathf.CeilToInt(h * aspect); - } - else - { - w = Mathf.ClosestPowerOfTwo(w / (int)rate); - h = Mathf.CeilToInt(w / aspect); - } - } + float aspect = (float)w / h; + if (w < h) + { + h = Mathf.ClosestPowerOfTwo(h / (int)rate); + w = Mathf.CeilToInt(h * aspect); + } + else + { + w = Mathf.ClosestPowerOfTwo(w / (int)rate); + h = Mathf.CeilToInt(w / aspect); + } + } - /// - /// Capture rendering result. - /// - public void Capture() - { - // Fit to screen. - var rootCanvas = canvas.rootCanvas; - if (m_FitToScreen) - { - var rootTransform = rootCanvas.transform as RectTransform; - var size = rootTransform.rect.size; - rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, size.x); - rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, size.y); - rectTransform.position = rootTransform.position; - } + /// + /// Capture rendering result. + /// + public void Capture() + { + // Fit to screen. + var rootCanvas = canvas.rootCanvas; + if (m_FitToScreen) + { + var rootTransform = rootCanvas.transform as RectTransform; + var size = rootTransform.rect.size; + rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, size.x); + rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, size.y); + rectTransform.position = rootTransform.position; + } - // Cache some ids. - if (s_CopyId == 0) - { - s_CopyId = Shader.PropertyToID("_UIEffectCapturedImage_ScreenCopyId"); - s_EffectId1 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId1"); - s_EffectId2 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId2"); + // Cache some ids. + if (s_CopyId == 0) + { + s_CopyId = Shader.PropertyToID("_UIEffectCapturedImage_ScreenCopyId"); + s_EffectId1 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId1"); + s_EffectId2 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId2"); - s_EffectFactorId = Shader.PropertyToID("_EffectFactor"); - s_ColorFactorId = Shader.PropertyToID("_ColorFactor"); - s_CommandBuffer = new CommandBuffer(); - } + s_EffectFactorId = Shader.PropertyToID("_EffectFactor"); + s_ColorFactorId = Shader.PropertyToID("_ColorFactor"); + s_CommandBuffer = new CommandBuffer(); + } - // If size of result RT has changed, release it. - int w, h; - GetDesamplingSize(m_DesamplingRate, out w, out h); - if (_rt && (_rt.width != w || _rt.height != h)) - { - _Release(ref _rt); - } + // If size of result RT has changed, release it. + int w, h; + GetDesamplingSize(m_DesamplingRate, out w, out h); + if (_rt && (_rt.width != w || _rt.height != h)) + { + _Release(ref _rt); + } - // Generate RT for result. - if (_rt == null) - { - _rt = RenderTexture.GetTemporary(w, h, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default); - _rt.filterMode = m_FilterMode; - _rt.useMipMap = false; - _rt.wrapMode = TextureWrapMode.Clamp; - _rtId = new RenderTargetIdentifier(_rt); - } - SetupCommandBuffer(); - } + // Generate RT for result. + if (_rt == null) + { + _rt = RenderTexture.GetTemporary(w, h, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default); + _rt.filterMode = m_FilterMode; + _rt.useMipMap = false; + _rt.wrapMode = TextureWrapMode.Clamp; + _rtId = new RenderTargetIdentifier(_rt); + } + SetupCommandBuffer(); + } - void SetupCommandBuffer() - { - // Material for effect. - Material mat = m_EffectMaterial; + void SetupCommandBuffer() + { + // Material for effect. + Material mat = m_EffectMaterial; - if (s_CommandBuffer == null) - { - s_CommandBuffer = new CommandBuffer(); - } + if (s_CommandBuffer == null) + { + s_CommandBuffer = new CommandBuffer(); + } - // [1] Capture from back buffer (back buffer -> copied screen). - int w, h; - GetDesamplingSize(DesamplingRate.None, out w, out h); - s_CommandBuffer.GetTemporaryRT(s_CopyId, w, h, 0, m_FilterMode); + // [1] Capture from back buffer (back buffer -> copied screen). + int w, h; + GetDesamplingSize(DesamplingRate.None, out w, out h); + s_CommandBuffer.GetTemporaryRT(s_CopyId, w, h, 0, m_FilterMode); #if UNITY_EDITOR - s_CommandBuffer.Blit(Resources.FindObjectsOfTypeAll().FirstOrDefault(x => x.name == "GameView RT"), s_CopyId); + s_CommandBuffer.Blit(Resources.FindObjectsOfTypeAll().FirstOrDefault(x => x.name == "GameView RT"), s_CopyId); #else s_CommandBuffer.Blit(BuiltinRenderTextureType.BindableTexture, s_CopyId); #endif - // Set properties for effect. - s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_EffectFactor, 0)); - s_CommandBuffer.SetGlobalVector(s_ColorFactorId, new Vector4(m_EffectColor.r, m_EffectColor.g, m_EffectColor.b, m_EffectColor.a)); + // Set properties for effect. + s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_EffectFactor, 0)); + s_CommandBuffer.SetGlobalVector(s_ColorFactorId, new Vector4(m_EffectColor.r, m_EffectColor.g, m_EffectColor.b, m_EffectColor.a)); - // [2] Apply base effect with reduction buffer (copied screen -> effect1). - GetDesamplingSize(m_ReductionRate, out w, out h); - s_CommandBuffer.GetTemporaryRT(s_EffectId1, w, h, 0, m_FilterMode); - s_CommandBuffer.Blit(s_CopyId, s_EffectId1, mat, 0); - s_CommandBuffer.ReleaseTemporaryRT(s_CopyId); + // [2] Apply base effect with reduction buffer (copied screen -> effect1). + GetDesamplingSize(m_ReductionRate, out w, out h); + s_CommandBuffer.GetTemporaryRT(s_EffectId1, w, h, 0, m_FilterMode); + s_CommandBuffer.Blit(s_CopyId, s_EffectId1, mat, 0); + s_CommandBuffer.ReleaseTemporaryRT(s_CopyId); - // Iterate blurring operation. - if (m_BlurMode != BlurMode.None) - { - s_CommandBuffer.GetTemporaryRT(s_EffectId2, w, h, 0, m_FilterMode); - for (int i = 0; i < m_BlurIterations; i++) - { - // [3] Apply blurring with reduction buffer (effect1 -> effect2, or effect2 -> effect1). - s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_BlurFactor, 0)); - s_CommandBuffer.Blit(s_EffectId1, s_EffectId2, mat, 1); - s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(0, m_BlurFactor)); - s_CommandBuffer.Blit(s_EffectId2, s_EffectId1, mat, 1); - } - s_CommandBuffer.ReleaseTemporaryRT(s_EffectId2); - } + // Iterate blurring operation. + if (m_BlurMode != BlurMode.None) + { + s_CommandBuffer.GetTemporaryRT(s_EffectId2, w, h, 0, m_FilterMode); + for (int i = 0; i < m_BlurIterations; i++) + { + // [3] Apply blurring with reduction buffer (effect1 -> effect2, or effect2 -> effect1). + s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_BlurFactor, 0)); + s_CommandBuffer.Blit(s_EffectId1, s_EffectId2, mat, 1); + s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(0, m_BlurFactor)); + s_CommandBuffer.Blit(s_EffectId2, s_EffectId1, mat, 1); + } + s_CommandBuffer.ReleaseTemporaryRT(s_EffectId2); + } - // [4] Copy to result RT. - s_CommandBuffer.Blit(s_EffectId1, _rtId); - s_CommandBuffer.ReleaseTemporaryRT(s_EffectId1); + // [4] Copy to result RT. + s_CommandBuffer.Blit(s_EffectId1, _rtId); + s_CommandBuffer.ReleaseTemporaryRT(s_EffectId1); #if UNITY_EDITOR - if (!Application.isPlaying) - { - Graphics.ExecuteCommandBuffer(s_CommandBuffer); + if (!Application.isPlaying) + { + Graphics.ExecuteCommandBuffer(s_CommandBuffer); - UpdateTexture(); - return; - } + UpdateTexture(); + return; + } #endif - // Execute command buffer. - canvas.rootCanvas.GetComponent ().StartCoroutine (_CoUpdateTextureOnNextFrame ()); - } + // Execute command buffer. + canvas.rootCanvas.GetComponent().StartCoroutine(_CoUpdateTextureOnNextFrame()); + } - /// - /// Release captured image. - /// - public void Release() - { - _Release(true); - texture = null; - _SetDirty(); - } + /// + /// Release captured image. + /// + public void Release() + { + _Release(true); + texture = null; + _SetDirty(); + } #if UNITY_EDITOR - protected override void Reset() - { - // Set parameters as 'Medium'. - m_BlurIterations = 3; - m_FilterMode = FilterMode.Bilinear; - m_DesamplingRate = DesamplingRate.x1; - m_ReductionRate = DesamplingRate.x1; - base.Reset(); - } + protected override void Reset() + { + // Set parameters as 'Medium'. + m_BlurIterations = 3; + m_FilterMode = FilterMode.Bilinear; + m_DesamplingRate = DesamplingRate.x1; + m_ReductionRate = DesamplingRate.x1; + base.Reset(); + } - /// - /// Raises the before serialize event. - /// - public void OnBeforeSerialize() - { - } + /// + /// Raises the before serialize event. + /// + public void OnBeforeSerialize() + { + } - /// - /// Raises the after deserialize event. - /// - public void OnAfterDeserialize() - { - UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(true); - } + /// + /// Raises the after deserialize event. + /// + public void OnAfterDeserialize() + { + UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(true); + } - /// - /// Raises the validate event. - /// - protected override void OnValidate() - { - base.OnValidate(); - UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(false); - } + /// + /// Raises the validate event. + /// + protected override void OnValidate() + { + base.OnValidate(); + UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(false); + } - /// - /// Updates the material. - /// - /// If set to true ignore in play mode. - protected void UpdateMaterial(bool ignoreInPlayMode) - { - if (!this || ignoreInPlayMode && Application.isPlaying) - { - return; - } + /// + /// Updates the material. + /// + /// If set to true ignore in play mode. + protected void UpdateMaterial(bool ignoreInPlayMode) + { + if (!this || ignoreInPlayMode && Application.isPlaying) + { + return; + } - var mat = MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode); - if (m_EffectMaterial != mat) - { - material = null; - m_EffectMaterial = mat; - _SetDirty(); - } - } + var mat = MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode); + if (m_EffectMaterial != mat) + { + material = null; + m_EffectMaterial = mat; + _SetDirty(); + } + } #endif - //################################ - // Private Members. - //################################ - RenderTexture _rt; - RenderTargetIdentifier _rtId; + //################################ + // Private Members. + //################################ + RenderTexture _rt; + RenderTargetIdentifier _rtId; - static int s_CopyId; - static int s_EffectId1; - static int s_EffectId2; - static int s_EffectFactorId; - static int s_ColorFactorId; - static CommandBuffer s_CommandBuffer; + static int s_CopyId; + static int s_EffectId1; + static int s_EffectId2; + static int s_EffectFactorId; + static int s_ColorFactorId; + static CommandBuffer s_CommandBuffer; - /// - /// Release genarated objects. - /// - /// If set to true release cached RenderTexture. - void _Release(bool releaseRT) - { - if (releaseRT) - { - texture = null; - _Release(ref _rt); - } + /// + /// Release genarated objects. + /// + /// If set to true release cached RenderTexture. + void _Release(bool releaseRT) + { + if (releaseRT) + { + texture = null; + _Release(ref _rt); + } - if (s_CommandBuffer != null) - { - s_CommandBuffer.Clear(); + if (s_CommandBuffer != null) + { + s_CommandBuffer.Clear(); - if (releaseRT) - { - s_CommandBuffer.Release(); - s_CommandBuffer = null; - } - } - } + if (releaseRT) + { + s_CommandBuffer.Release(); + s_CommandBuffer = null; + } + } + } - [System.Diagnostics.Conditional("UNITY_EDITOR")] - void _SetDirty() - { + [System.Diagnostics.Conditional("UNITY_EDITOR")] + void _SetDirty() + { #if UNITY_EDITOR - if (!Application.isPlaying) - { - UnityEditor.EditorUtility.SetDirty(this); - } + if (!Application.isPlaying) + { + UnityEditor.EditorUtility.SetDirty(this); + } #endif - } + } - void _Release(ref RenderTexture obj) - { - if (obj) - { - obj.Release(); - RenderTexture.ReleaseTemporary (obj); - obj = null; - } - } + void _Release(ref RenderTexture obj) + { + if (obj) + { + obj.Release(); + RenderTexture.ReleaseTemporary(obj); + obj = null; + } + } - /// - /// Set texture on next frame. - /// - IEnumerator _CoUpdateTextureOnNextFrame() - { - yield return new WaitForEndOfFrame(); - UpdateTexture(); - } + /// + /// Set texture on next frame. + /// + IEnumerator _CoUpdateTextureOnNextFrame() + { + yield return new WaitForEndOfFrame(); + UpdateTexture(); + } - void UpdateTexture() - { + void UpdateTexture() + { #if !UNITY_EDITOR // Execute command buffer. Graphics.ExecuteCommandBuffer (s_CommandBuffer); #endif - _Release(false); - texture = capturedTexture; - _SetDirty(); - } + _Release(false); + texture = capturedTexture; + _SetDirty(); + } - } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs index c97c078..ca5643f 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs @@ -1,61 +1,59 @@ -using System; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEngine.UI; namespace Coffee.UIExtensions { - //[RequireComponent(typeof(Graphic))] - [DisallowMultipleComponent] - [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIFlip", 102)] - public class UIFlip : BaseMeshEffect - { - //################################ - // Serialize Members. - //################################ + //[RequireComponent(typeof(Graphic))] + [DisallowMultipleComponent] + [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIFlip", 102)] + public class UIFlip : BaseMeshEffect + { + //################################ + // Serialize Members. + //################################ - [Tooltip("Flip horizontally.")] - [SerializeField] private bool m_Horizontal = false; + [Tooltip("Flip horizontally.")] + [SerializeField] private bool m_Horizontal = false; - [Tooltip("Flip vertically.")] - [SerializeField] private bool m_Veritical = false; + [Tooltip("Flip vertically.")] + [SerializeField] private bool m_Veritical = false; - //################################ - // Public Members. - //################################ - /// - /// Gets or sets a value indicating whether this should be flipped horizontally. - /// - /// true if be flipped horizontally; otherwise, false. - public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty (); } } + //################################ + // Public Members. + //################################ + /// + /// Gets or sets a value indicating whether this should be flipped horizontally. + /// + /// true if be flipped horizontally; otherwise, false. + public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty(); } } - /// - /// Gets or sets a value indicating whether this should be flipped vertically. - /// - /// true if be flipped horizontally; otherwise, false. - public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty (); } } + /// + /// Gets or sets a value indicating whether this should be flipped vertically. + /// + /// true if be flipped horizontally; otherwise, false. + public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty(); } } - /// - /// Call used to modify mesh. - /// - /// VertexHelper. - public override void ModifyMesh(VertexHelper vh) - { - RectTransform rt = graphic.rectTransform; - UIVertex vt = default(UIVertex); - Vector3 pos; - Vector2 center = rt.rect.center; - for (int i = 0; i < vh.currentVertCount; i++) - { - vh.PopulateUIVertex(ref vt, i); - pos = vt.position; - vt.position = new Vector3( - m_Horizontal ? -pos.x : pos.x, - m_Veritical ? -pos.y : pos.y - ); - vh.SetUIVertex(vt, i); - } - } - } + /// + /// Call used to modify mesh. + /// + /// VertexHelper. + public override void ModifyMesh(VertexHelper vh) + { + RectTransform rt = graphic.rectTransform; + UIVertex vt = default(UIVertex); + Vector3 pos; + Vector2 center = rt.rect.center; + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vt, i); + pos = vt.position; + vt.position = new Vector3( + m_Horizontal ? -pos.x : pos.x, + m_Veritical ? -pos.y : pos.y + ); + vh.SetUIVertex(vt, i); + } + } + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs index 23f820e..ff9409a 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs @@ -3,384 +3,384 @@ using UnityEngine.UI; namespace Coffee.UIExtensions { - /// - /// UIGradient. - /// - [DisallowMultipleComponent] - [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIGradient", 101)] - public class UIGradient : BaseMeshEffect - { - //################################ - // Constant or Static Members. - //################################ + /// + /// UIGradient. + /// + [DisallowMultipleComponent] + [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIGradient", 101)] + public class UIGradient : BaseMeshEffect + { + //################################ + // Constant or Static Members. + //################################ - /// - /// Gradient direction. - /// - public enum Direction - { - Horizontal, - Vertical, - Angle, - Diagonal, - } + /// + /// Gradient direction. + /// + public enum Direction + { + Horizontal, + Vertical, + Angle, + Diagonal, + } - /// - /// Gradient space for Text. - /// - public enum GradientStyle - { - Rect, - Fit, - Split, - } + /// + /// Gradient space for Text. + /// + public enum GradientStyle + { + Rect, + Fit, + Split, + } - //################################ - // Serialize Members. - //################################ + //################################ + // Serialize Members. + //################################ - [Tooltip("Gradient Direction.")] - [SerializeField] Direction m_Direction; + [Tooltip("Gradient Direction.")] + [SerializeField] Direction m_Direction; - [Tooltip("Color1: Top or Left.")] - [SerializeField] Color m_Color1 = Color.white; + [Tooltip("Color1: Top or Left.")] + [SerializeField] Color m_Color1 = Color.white; - [Tooltip("Color2: Bottom or Right.")] - [SerializeField] Color m_Color2 = Color.white; + [Tooltip("Color2: Bottom or Right.")] + [SerializeField] Color m_Color2 = Color.white; - [Tooltip("Color3: For diagonal.")] - [SerializeField] Color m_Color3 = Color.white; + [Tooltip("Color3: For diagonal.")] + [SerializeField] Color m_Color3 = Color.white; - [Tooltip("Color4: For diagonal.")] - [SerializeField] Color m_Color4 = Color.white; + [Tooltip("Color4: For diagonal.")] + [SerializeField] Color m_Color4 = Color.white; - [Tooltip("Gradient rotation.")] - [SerializeField][Range(-180, 180)] float m_Rotation; + [Tooltip("Gradient rotation.")] + [SerializeField][Range(-180, 180)] float m_Rotation; - [Tooltip("Gradient offset for Horizontal, Vertical or Angle.")] - [SerializeField][Range(-1, 1)] float m_Offset1; + [Tooltip("Gradient offset for Horizontal, Vertical or Angle.")] + [SerializeField][Range(-1, 1)] float m_Offset1; - [Tooltip("Gradient offset for Diagonal.")] - [SerializeField][Range(-1, 1)] float m_Offset2; + [Tooltip("Gradient offset for Diagonal.")] + [SerializeField][Range(-1, 1)] float m_Offset2; - [Tooltip("Gradient style for Text.")] - [SerializeField] GradientStyle m_GradientStyle; + [Tooltip("Gradient style for Text.")] + [SerializeField] GradientStyle m_GradientStyle; - [Tooltip("Color space to correct color.")] - [SerializeField] ColorSpace m_ColorSpace = ColorSpace.Uninitialized; + [Tooltip("Color space to correct color.")] + [SerializeField] ColorSpace m_ColorSpace = ColorSpace.Uninitialized; - [Tooltip("Ignore aspect ratio.")] - [SerializeField] bool m_IgnoreAspectRatio = true; + [Tooltip("Ignore aspect ratio.")] + [SerializeField] bool m_IgnoreAspectRatio = true; - //################################ - // Public Members. - //################################ - public Graphic targetGraphic { get { return base.graphic; } } + //################################ + // Public Members. + //################################ + public Graphic targetGraphic { get { return base.graphic; } } - /// - /// Gradient Direction. - /// - public Direction direction - { - get { return m_Direction; } - set - { - if (m_Direction != value) - { - m_Direction = value; - SetVerticesDirty(); - } - } - } + /// + /// Gradient Direction. + /// + public Direction direction + { + get { return m_Direction; } + set + { + if (m_Direction != value) + { + m_Direction = value; + SetVerticesDirty(); + } + } + } - /// - /// Color1: Top or Left. - /// - public Color color1 - { - get { return m_Color1; } - set - { - if (m_Color1 != value) - { - m_Color1 = value; - SetVerticesDirty(); - } - } - } + /// + /// Color1: Top or Left. + /// + public Color color1 + { + get { return m_Color1; } + set + { + if (m_Color1 != value) + { + m_Color1 = value; + SetVerticesDirty(); + } + } + } - /// - /// Color2: Bottom or Right. - /// - public Color color2 - { - get { return m_Color2; } - set - { - if (m_Color2 != value) - { - m_Color2 = value; - SetVerticesDirty(); - } - } - } + /// + /// Color2: Bottom or Right. + /// + public Color color2 + { + get { return m_Color2; } + set + { + if (m_Color2 != value) + { + m_Color2 = value; + SetVerticesDirty(); + } + } + } - /// - /// Color3: For diagonal. - /// - public Color color3 - { - get { return m_Color3; } - set - { - if (m_Color3 != value) - { - m_Color3 = value; - SetVerticesDirty(); - } - } - } + /// + /// Color3: For diagonal. + /// + public Color color3 + { + get { return m_Color3; } + set + { + if (m_Color3 != value) + { + m_Color3 = value; + SetVerticesDirty(); + } + } + } - /// - /// Color4: For diagonal. - /// - public Color color4 - { - get { return m_Color4; } - set - { - if (m_Color4 != value) - { - m_Color4 = value; - SetVerticesDirty(); - } - } - } + /// + /// Color4: For diagonal. + /// + public Color color4 + { + get { return m_Color4; } + set + { + if (m_Color4 != value) + { + m_Color4 = value; + SetVerticesDirty(); + } + } + } - /// - /// Gradient rotation. - /// - public float rotation - { - get - { - return m_Direction == Direction.Horizontal ? -90 - : m_Direction == Direction.Vertical ? 0 - : m_Rotation; - } - set - { - if (!Mathf.Approximately(m_Rotation, value)) - { - m_Rotation = value; - SetVerticesDirty(); - } - } - } + /// + /// Gradient rotation. + /// + public float rotation + { + get + { + return m_Direction == Direction.Horizontal ? -90 + : m_Direction == Direction.Vertical ? 0 + : m_Rotation; + } + set + { + if (!Mathf.Approximately(m_Rotation, value)) + { + m_Rotation = value; + SetVerticesDirty(); + } + } + } - /// - /// Gradient offset for Horizontal, Vertical or Angle. - /// - public float offset - { - get { return m_Offset1; } - set - { - if (m_Offset1 != value) - { - m_Offset1 = value; - SetVerticesDirty(); - } - } - } + /// + /// Gradient offset for Horizontal, Vertical or Angle. + /// + public float offset + { + get { return m_Offset1; } + set + { + if (m_Offset1 != value) + { + m_Offset1 = value; + SetVerticesDirty(); + } + } + } - /// - /// Gradient offset for Diagonal. - /// - public Vector2 offset2 - { - get { return new Vector2(m_Offset2, m_Offset1); } - set - { - if (m_Offset1 != value.y || m_Offset2 != value.x) - { - m_Offset1 = value.y; - m_Offset2 = value.x; - SetVerticesDirty(); - } - } - } + /// + /// Gradient offset for Diagonal. + /// + public Vector2 offset2 + { + get { return new Vector2(m_Offset2, m_Offset1); } + set + { + if (m_Offset1 != value.y || m_Offset2 != value.x) + { + m_Offset1 = value.y; + m_Offset2 = value.x; + SetVerticesDirty(); + } + } + } - /// - /// Gradient style for Text. - /// - public GradientStyle gradientStyle - { - get { return m_GradientStyle; } - set - { - if (m_GradientStyle != value) - { - m_GradientStyle = value; - SetVerticesDirty(); - } - } - } + /// + /// Gradient style for Text. + /// + public GradientStyle gradientStyle + { + get { return m_GradientStyle; } + set + { + if (m_GradientStyle != value) + { + m_GradientStyle = value; + SetVerticesDirty(); + } + } + } - /// - /// Color space to correct color. - /// - public ColorSpace colorSpace - { - get { return m_ColorSpace; } - set - { - if (m_ColorSpace != value) - { - m_ColorSpace = value; - SetVerticesDirty(); - } - } - } + /// + /// Color space to correct color. + /// + public ColorSpace colorSpace + { + get { return m_ColorSpace; } + set + { + if (m_ColorSpace != value) + { + m_ColorSpace = value; + SetVerticesDirty(); + } + } + } - /// - /// Ignore aspect ratio. - /// - public bool ignoreAspectRatio - { - get { return m_IgnoreAspectRatio; } - set - { - if (m_IgnoreAspectRatio != value) - { - m_IgnoreAspectRatio = value; - SetVerticesDirty(); - } - } - } + /// + /// Ignore aspect ratio. + /// + public bool ignoreAspectRatio + { + get { return m_IgnoreAspectRatio; } + set + { + if (m_IgnoreAspectRatio != value) + { + m_IgnoreAspectRatio = value; + SetVerticesDirty(); + } + } + } - /// - /// Call used to modify mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!IsActive()) - return; + /// + /// Call used to modify mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!IsActive()) + return; - // Gradient space. - Rect rect = default(Rect); - UIVertex vertex = default(UIVertex); - if (m_GradientStyle == GradientStyle.Rect) - { - // RectTransform. - rect = graphic.rectTransform.rect; - } - else if (m_GradientStyle == GradientStyle.Split) - { - // Each characters. - rect.Set(0, 0, 1, 1); - } - else if (m_GradientStyle == GradientStyle.Fit) - { - // Fit to contents. - rect.xMin = rect.yMin = float.MaxValue; - rect.xMax = rect.yMax = float.MinValue; - for (int i = 0; i < vh.currentVertCount; i++) - { - vh.PopulateUIVertex(ref vertex, i); - rect.xMin = Mathf.Min(rect.xMin, vertex.position.x); - rect.yMin = Mathf.Min(rect.yMin, vertex.position.y); - rect.xMax = Mathf.Max(rect.xMax, vertex.position.x); - rect.yMax = Mathf.Max(rect.yMax, vertex.position.y); - } - } + // Gradient space. + Rect rect = default(Rect); + UIVertex vertex = default(UIVertex); + if (m_GradientStyle == GradientStyle.Rect) + { + // RectTransform. + rect = graphic.rectTransform.rect; + } + else if (m_GradientStyle == GradientStyle.Split) + { + // Each characters. + rect.Set(0, 0, 1, 1); + } + else if (m_GradientStyle == GradientStyle.Fit) + { + // Fit to contents. + rect.xMin = rect.yMin = float.MaxValue; + rect.xMax = rect.yMax = float.MinValue; + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + rect.xMin = Mathf.Min(rect.xMin, vertex.position.x); + rect.yMin = Mathf.Min(rect.yMin, vertex.position.y); + rect.xMax = Mathf.Max(rect.xMax, vertex.position.x); + rect.yMax = Mathf.Max(rect.yMax, vertex.position.y); + } + } - // Gradient rotation. - float rad = rotation * Mathf.Deg2Rad; - Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); - if (!m_IgnoreAspectRatio && Direction.Angle <= m_Direction) - { - dir.x *= rect.height / rect.width; - dir = dir.normalized; - } + // Gradient rotation. + float rad = rotation * Mathf.Deg2Rad; + Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); + if (!m_IgnoreAspectRatio && Direction.Angle <= m_Direction) + { + dir.x *= rect.height / rect.width; + dir = dir.normalized; + } - // Calculate vertex color. - Color color; - Vector2 nomalizedPos; - Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y); // Get local matrix. - for (int i = 0; i < vh.currentVertCount; i++) - { - vh.PopulateUIVertex(ref vertex, i); + // Calculate vertex color. + Color color; + Vector2 nomalizedPos; + Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y); // Get local matrix. + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); - // Normalize vertex position by local matrix. - if (m_GradientStyle == GradientStyle.Split) - { - // Each characters. - nomalizedPos = localMatrix * s_SplitedCharacterPosition[i % 4] + offset2; - } - else - { - nomalizedPos = localMatrix * vertex.position + offset2; - } + // Normalize vertex position by local matrix. + if (m_GradientStyle == GradientStyle.Split) + { + // Each characters. + nomalizedPos = localMatrix * s_SplitedCharacterPosition[i % 4] + offset2; + } + else + { + nomalizedPos = localMatrix * vertex.position + offset2; + } - // Interpolate vertex color. - if (direction == Direction.Diagonal) - { - color = Color.LerpUnclamped( - Color.LerpUnclamped(m_Color1, m_Color2, nomalizedPos.x), - Color.LerpUnclamped(m_Color3, m_Color4, nomalizedPos.x), - nomalizedPos.y); - } - else - { - color = Color.LerpUnclamped(m_Color2, m_Color1, nomalizedPos.y); - } + // Interpolate vertex color. + if (direction == Direction.Diagonal) + { + color = Color.LerpUnclamped( + Color.LerpUnclamped(m_Color1, m_Color2, nomalizedPos.x), + Color.LerpUnclamped(m_Color3, m_Color4, nomalizedPos.x), + nomalizedPos.y); + } + else + { + color = Color.LerpUnclamped(m_Color2, m_Color1, nomalizedPos.y); + } - // Correct color. - vertex.color *= (m_ColorSpace == ColorSpace.Gamma) ? color.gamma - : (m_ColorSpace == ColorSpace.Linear) ? color.linear - : color; + // Correct color. + vertex.color *= (m_ColorSpace == ColorSpace.Gamma) ? color.gamma + : (m_ColorSpace == ColorSpace.Linear) ? color.linear + : color; - vh.SetUIVertex(vertex, i); - } - } + vh.SetUIVertex(vertex, i); + } + } - //################################ - // Private Members. - //################################ - static readonly Vector2[] s_SplitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; + //################################ + // Private Members. + //################################ + static readonly Vector2[] s_SplitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; - /// - /// Matrix2x3. - /// - struct Matrix2x3 - { - public float m00, m01, m02, m10, m11, m12; + /// + /// Matrix2x3. + /// + struct Matrix2x3 + { + public float m00, m01, m02, m10, m11, m12; - public Matrix2x3(Rect rect, float cos, float sin) - { - const float center = 0.5f; - float dx = -rect.xMin / rect.width - center; - float dy = -rect.yMin / rect.height - center; - m00 = cos / rect.width; - m01 = -sin / rect.height; - m02 = dx * cos - dy * sin + center; - m10 = sin / rect.width; - m11 = cos / rect.height; - m12 = dx * sin + dy * cos + center; - } + public Matrix2x3(Rect rect, float cos, float sin) + { + const float center = 0.5f; + float dx = -rect.xMin / rect.width - center; + float dy = -rect.yMin / rect.height - center; + m00 = cos / rect.width; + m01 = -sin / rect.height; + m02 = dx * cos - dy * sin + center; + m10 = sin / rect.width; + m11 = cos / rect.height; + m12 = dx * sin + dy * cos + center; + } - public static Vector2 operator*(Matrix2x3 m, Vector2 v) - { - return new Vector2( - (m.m00 * v.x) + (m.m01 * v.y) + m.m02, - (m.m10 * v.x) + (m.m11 * v.y) + m.m12 - ); - } - } - } + public static Vector2 operator *(Matrix2x3 m, Vector2 v) + { + return new Vector2( + (m.m00 * v.x) + (m.m01 * v.y) + m.m02, + (m.m10 * v.x) + (m.m11 * v.y) + m.m12 + ); + } + } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs index 52138f2..707a30c 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs @@ -1,194 +1,193 @@ using UnityEngine; -using UnityEngine.Serialization; using UnityEngine.UI; namespace Coffee.UIExtensions { - /// - /// HSV Modifier. - /// - [AddComponentMenu("UI/UIEffect/UIHsvModifier", 4)] - public class UIHsvModifier : UIEffectBase - { - //################################ - // Constant or Static Members. - //################################ - public const string shaderName = "UI/Hidden/UI-Effect-HSV"; - static readonly ParameterTexture _ptex = new ParameterTexture(7, 128, "_ParamTex"); + /// + /// HSV Modifier. + /// + [AddComponentMenu("UI/UIEffect/UIHsvModifier", 4)] + public class UIHsvModifier : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-HSV"; + static readonly ParameterTexture _ptex = new ParameterTexture(7, 128, "_ParamTex"); - //################################ - // Serialize Members. - //################################ - [Header("Target")] + //################################ + // Serialize Members. + //################################ + [Header("Target")] - [Tooltip("Target color to affect hsv shift.")] - [SerializeField] [ColorUsage(false)] Color m_TargetColor = Color.red; + [Tooltip("Target color to affect hsv shift.")] + [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; + [Tooltip("Color range to affect hsv shift [0 ~ 1].")] + [SerializeField][Range(0, 1)] float m_Range = 0.1f; - [Header("Adjustment")] + [Header("Adjustment")] - [Tooltip("Hue shift [-0.5 ~ 0.5].")] - [SerializeField] [Range(-0.5f, 0.5f)] float m_Hue; + [Tooltip("Hue shift [-0.5 ~ 0.5].")] + [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; + [Tooltip("Saturation shift [-0.5 ~ 0.5].")] + [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; + [Tooltip("Value shift [-0.5 ~ 0.5].")] + [SerializeField][Range(-0.5f, 0.5f)] float m_Value; - //################################ - // Public Members. - //################################ + //################################ + // Public Members. + //################################ - /// - /// Target color to affect hsv shift. - /// - public Color targetColor - { - get { return m_TargetColor; } - set - { - if (m_TargetColor != value) - { - m_TargetColor = value; - SetDirty(); - } - } - } + /// + /// Target color to affect hsv shift. + /// + public Color targetColor + { + get { return m_TargetColor; } + set + { + if (m_TargetColor != value) + { + m_TargetColor = value; + SetDirty(); + } + } + } - /// - /// Color range to affect hsv shift [0 ~ 1]. - /// - public float range - { - get { return m_Range; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Range, value)) - { - m_Range = value; - SetDirty(); - } - } - } + /// + /// Color range to affect hsv shift [0 ~ 1]. + /// + public float range + { + get { return m_Range; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Range, value)) + { + m_Range = value; + SetDirty(); + } + } + } - /// - /// Saturation shift [-0.5 ~ 0.5]. - /// - public float saturation - { - get { return m_Saturation; } - set - { - value = Mathf.Clamp(value, -0.5f, 0.5f); - if (!Mathf.Approximately(m_Saturation, value)) - { - m_Saturation = value; - SetDirty(); - } - } - } + /// + /// Saturation shift [-0.5 ~ 0.5]. + /// + public float saturation + { + get { return m_Saturation; } + set + { + value = Mathf.Clamp(value, -0.5f, 0.5f); + if (!Mathf.Approximately(m_Saturation, value)) + { + m_Saturation = value; + SetDirty(); + } + } + } - /// - /// Value shift [-0.5 ~ 0.5]. - /// - public float value - { - get { return m_Value; } - set - { - value = Mathf.Clamp(value, -0.5f, 0.5f); - if (!Mathf.Approximately(m_Value, value)) - { - m_Value = value; - SetDirty(); - } - } - } + /// + /// Value shift [-0.5 ~ 0.5]. + /// + public float value + { + get { return m_Value; } + set + { + value = Mathf.Clamp(value, -0.5f, 0.5f); + if (!Mathf.Approximately(m_Value, value)) + { + m_Value = value; + SetDirty(); + } + } + } - /// - /// Hue shift [-0.5 ~ 0.5]. - /// - public float hue - { - get { return m_Hue; } - set - { - value = Mathf.Clamp(value, -0.5f, 0.5f); - if (!Mathf.Approximately(m_Hue, value)) - { - m_Hue = value; - SetDirty(); - } - } - } + /// + /// Hue shift [-0.5 ~ 0.5]. + /// + public float hue + { + get { return m_Hue; } + set + { + value = Mathf.Clamp(value, -0.5f, 0.5f); + if (!Mathf.Approximately(m_Hue, value)) + { + m_Hue = value; + SetDirty(); + } + } + } - /// - /// Gets the parameter texture. - /// - public override ParameterTexture ptex { get { return _ptex; } } + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } #if UNITY_EDITOR - protected override Material GetMaterial() - { - if (isTMPro) - { - return null; - } - return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName)); - } + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName)); + } #endif - /// - /// Modifies the mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!isActiveAndEnabled) - return; + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + return; - float normalizedIndex = ptex.GetNormalizedIndex(this); - UIVertex vertex = default(UIVertex); - int count = vh.currentVertCount; - for (int i = 0; i < count; i++) - { - vh.PopulateUIVertex(ref vertex, i); + float normalizedIndex = ptex.GetNormalizedIndex(this); + UIVertex vertex = default(UIVertex); + int count = vh.currentVertCount; + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vertex, i); - vertex.uv0 = new Vector2( - Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), - normalizedIndex - ); - vh.SetUIVertex(vertex, i); - } - } + vertex.uv0 = new Vector2( + Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), + normalizedIndex + ); + vh.SetUIVertex(vertex, i); + } + } - protected override void SetDirty() - { - float h, s, v; - Color.RGBToHSV(m_TargetColor, out h, out s, out v); + protected override void SetDirty() + { + float h, s, v; + Color.RGBToHSV(m_TargetColor, out h, out s, out v); - foreach (var m in materials) - { - ptex.RegisterMaterial (m); - } + foreach (var m in materials) + { + ptex.RegisterMaterial(m); + } - ptex.SetData(this, 0, h); // param1.x : target hue - ptex.SetData(this, 1, s); // param1.y : target saturation - ptex.SetData(this, 2, v); // param1.z : target value - ptex.SetData(this, 3, m_Range); // param1.w : target range - ptex.SetData(this, 4, m_Hue + 0.5f); // param2.x : hue shift - ptex.SetData(this, 5, m_Saturation + 0.5f); // param2.y : saturation shift - ptex.SetData(this, 6, m_Value + 0.5f); // param2.z : value shift - } + ptex.SetData(this, 0, h); // param1.x : target hue + ptex.SetData(this, 1, s); // param1.y : target saturation + ptex.SetData(this, 2, v); // param1.z : target value + ptex.SetData(this, 3, m_Range); // param1.w : target range + ptex.SetData(this, 4, m_Hue + 0.5f); // param2.x : hue shift + ptex.SetData(this, 5, m_Saturation + 0.5f); // param2.y : saturation shift + ptex.SetData(this, 6, m_Value + 0.5f); // param2.z : value shift + } - //################################ - // Private Members. - //################################ - } + //################################ + // Private Members. + //################################ + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs index 32b0f21..f9819c7 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs @@ -5,230 +5,229 @@ using UnityEngine.Serialization; using UnityEngine.UI; #if UNITY_EDITOR -using System.IO; -using System.Linq; using UnityEditor; #endif namespace Coffee.UIExtensions { - /// - /// UIEffect. - /// - [RequireComponent(typeof(Graphic))] - [AddComponentMenu("UI/UIEffect/UIShadow", 100)] - public class UIShadow : BaseMeshEffect, IParameterTexture + /// + /// UIEffect. + /// + [RequireComponent(typeof(Graphic))] + [AddComponentMenu("UI/UIEffect/UIShadow", 100)] + public class UIShadow : BaseMeshEffect, IParameterTexture #if UNITY_EDITOR - , ISerializationCallbackReceiver + , ISerializationCallbackReceiver #endif - { + { - /// - /// Additional shadow. - /// - [System.Obsolete] - [System.Serializable] - public class AdditionalShadow - { - /// - /// How far is the blurring shadow from the graphic. - /// - [FormerlySerializedAs("shadowBlur")] - [Range(0, 1)] public float blur = 0.25f; + /// + /// Additional shadow. + /// + [System.Obsolete] + [System.Serializable] + public class AdditionalShadow + { + /// + /// How far is the blurring shadow from the graphic. + /// + [FormerlySerializedAs("shadowBlur")] + [Range(0, 1)] public float blur = 0.25f; - /// - /// Shadow effect mode. - /// - [FormerlySerializedAs("shadowMode")] - public ShadowStyle style = ShadowStyle.Shadow; + /// + /// Shadow effect mode. + /// + [FormerlySerializedAs("shadowMode")] + public ShadowStyle style = ShadowStyle.Shadow; - /// - /// Color for the shadow effect. - /// - [FormerlySerializedAs("shadowColor")] - public Color effectColor = Color.black; + /// + /// Color for the shadow effect. + /// + [FormerlySerializedAs("shadowColor")] + public Color effectColor = Color.black; - /// - /// How far is the shadow from the graphic. - /// - public Vector2 effectDistance = new Vector2(1f, -1f); + /// + /// How far is the shadow from the graphic. + /// + public Vector2 effectDistance = new Vector2(1f, -1f); - /// - /// Should the shadow inherit the alpha from the graphic? - /// - public bool useGraphicAlpha = true; - } + /// + /// Should the shadow inherit the alpha from the graphic? + /// + public bool useGraphicAlpha = true; + } - //################################ - // Serialize Members. - //################################ - [Tooltip("How far is the blurring shadow from the graphic.")] - [FormerlySerializedAs("m_Blur")] - [SerializeField][Range(0, 1)] float m_BlurFactor = 1; + //################################ + // Serialize Members. + //################################ + [Tooltip("How far is the blurring shadow from the graphic.")] + [FormerlySerializedAs("m_Blur")] + [SerializeField][Range(0, 1)] float m_BlurFactor = 1; - [Tooltip("Shadow effect style.")] - [SerializeField] ShadowStyle m_Style = ShadowStyle.Shadow; + [Tooltip("Shadow effect style.")] + [SerializeField] ShadowStyle m_Style = ShadowStyle.Shadow; - #pragma warning disable 0414 - [HideInInspector][System.Obsolete] - [SerializeField] List m_AdditionalShadows = new List(); - #pragma warning restore 0414 +#pragma warning disable 0414 + [HideInInspector] + [System.Obsolete] + [SerializeField] List m_AdditionalShadows = new List(); +#pragma warning restore 0414 - [SerializeField] - private Color m_EffectColor = new Color (0f, 0f, 0f, 0.5f); + [SerializeField] + private Color m_EffectColor = new Color(0f, 0f, 0f, 0.5f); - [SerializeField] - private Vector2 m_EffectDistance = new Vector2 (1f, -1f); + [SerializeField] + private Vector2 m_EffectDistance = new Vector2(1f, -1f); - [SerializeField] - private bool m_UseGraphicAlpha = true; + [SerializeField] + private bool m_UseGraphicAlpha = true; - private const float kMaxEffectDistance = 600f; + private const float kMaxEffectDistance = 600f; - public Color effectColor - { - get { return m_EffectColor; } - set - { - m_EffectColor = value; - if (graphic != null) - graphic.SetVerticesDirty (); - } - } + public Color effectColor + { + get { return m_EffectColor; } + set + { + m_EffectColor = value; + if (graphic != null) + graphic.SetVerticesDirty(); + } + } - public Vector2 effectDistance - { - get { return m_EffectDistance; } - set - { - if (value.x > kMaxEffectDistance) - value.x = kMaxEffectDistance; - if (value.x < -kMaxEffectDistance) - value.x = -kMaxEffectDistance; + public Vector2 effectDistance + { + get { return m_EffectDistance; } + set + { + if (value.x > kMaxEffectDistance) + value.x = kMaxEffectDistance; + if (value.x < -kMaxEffectDistance) + value.x = -kMaxEffectDistance; - if (value.y > kMaxEffectDistance) - value.y = kMaxEffectDistance; - if (value.y < -kMaxEffectDistance) - value.y = -kMaxEffectDistance; + if (value.y > kMaxEffectDistance) + value.y = kMaxEffectDistance; + if (value.y < -kMaxEffectDistance) + value.y = -kMaxEffectDistance; - if (m_EffectDistance == value) - return; + if (m_EffectDistance == value) + return; - m_EffectDistance = value; + m_EffectDistance = value; - if (graphic != null) - graphic.SetVerticesDirty (); - } - } + if (graphic != null) + graphic.SetVerticesDirty(); + } + } - public bool useGraphicAlpha - { - get { return m_UseGraphicAlpha; } - set - { - m_UseGraphicAlpha = value; - if (graphic != null) - graphic.SetVerticesDirty (); - } - } + public bool useGraphicAlpha + { + get { return m_UseGraphicAlpha; } + set + { + m_UseGraphicAlpha = value; + if (graphic != null) + graphic.SetVerticesDirty(); + } + } - //################################ - // Public Members. - //################################ - /// - /// How far is the blurring shadow from the graphic. - /// - [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] - public float blur - { - get { return m_BlurFactor; } - set - { - m_BlurFactor = Mathf.Clamp(value, 0, 2); - _SetDirty(); - } - } + //################################ + // Public Members. + //################################ + /// + /// How far is the blurring shadow from the graphic. + /// + [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] + public float blur + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 2); + _SetDirty(); + } + } - /// - /// How far is the blurring shadow from the graphic. - /// - public float blurFactor - { - get { return m_BlurFactor; } - set - { - m_BlurFactor = Mathf.Clamp(value, 0, 2); - _SetDirty(); - } - } + /// + /// How far is the blurring shadow from the graphic. + /// + public float blurFactor + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 2); + _SetDirty(); + } + } - /// - /// Shadow effect style. - /// - public ShadowStyle style - { - get { return m_Style; } - set - { - m_Style = value; - _SetDirty(); - } - } + /// + /// Shadow effect style. + /// + public ShadowStyle style + { + get { return m_Style; } + set + { + m_Style = value; + _SetDirty(); + } + } - /// - /// Gets or sets the parameter index. - /// - public int parameterIndex { get; set; } + /// + /// Gets or sets the parameter index. + /// + public int parameterIndex { get; set; } - /// - /// Gets the parameter texture. - /// - public ParameterTexture ptex{ get; private set; } + /// + /// Gets the parameter texture. + /// + public ParameterTexture ptex { get; private set; } - int _graphicVertexCount; - static readonly List tmpShadows = new List(); + int _graphicVertexCount; + static readonly List tmpShadows = new List(); - protected override void OnEnable() - { - base.OnEnable(); + protected override void OnEnable() + { + base.OnEnable(); - _uiEffect = GetComponent(); - if (_uiEffect) - { - ptex = _uiEffect.ptex; - ptex.Register(this); - } + _uiEffect = GetComponent(); + if (_uiEffect) + { + ptex = _uiEffect.ptex; + ptex.Register(this); + } - #if TMP_PRESENT +#if TMP_PRESENT if (isTMPro) { textMeshPro.onCullStateChanged.AddListener (OnCullStateChanged); } - #endif - } +#endif + } - protected override void OnDisable() - { - base.OnDisable(); - _uiEffect = null; - if (ptex != null) - { - ptex.Unregister(this); - ptex = null; - } - } + protected override void OnDisable() + { + base.OnDisable(); + _uiEffect = null; + if (ptex != null) + { + ptex.Unregister(this); + ptex = null; + } + } - #if UNITY_EDITOR - protected override void OnValidate () - { - effectDistance = m_EffectDistance; - base.OnValidate (); - } - #endif +#if UNITY_EDITOR + protected override void OnValidate() + { + effectDistance = m_EffectDistance; + base.OnValidate(); + } +#endif - #if TMP_PRESENT +#if TMP_PRESENT protected void OnCullStateChanged (bool state) { SetVerticesDirty (); @@ -249,213 +248,213 @@ namespace Coffee.UIExtensions } base.LateUpdate (); } - #endif +#endif - /// - /// Modifies the mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!isActiveAndEnabled || vh.currentVertCount <= 0 || m_Style == ShadowStyle.None) - { - return; - } + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled || vh.currentVertCount <= 0 || m_Style == ShadowStyle.None) + { + return; + } - vh.GetUIVertexStream(s_Verts); + vh.GetUIVertexStream(s_Verts); - GetComponents(tmpShadows); + GetComponents(tmpShadows); - foreach (var s in tmpShadows) - { - if (s.isActiveAndEnabled) - { - if (s == this) - { - foreach (var s2 in tmpShadows) - { - s2._graphicVertexCount = s_Verts.Count; - } - } - break; - } - } + foreach (var s in tmpShadows) + { + if (s.isActiveAndEnabled) + { + if (s == this) + { + foreach (var s2 in tmpShadows) + { + s2._graphicVertexCount = s_Verts.Count; + } + } + break; + } + } - tmpShadows.Clear(); + tmpShadows.Clear(); - //================================ - // Append shadow vertices. - //================================ - { - _uiEffect = _uiEffect ?? GetComponent(); - var start = s_Verts.Count - _graphicVertexCount; - var end = s_Verts.Count; + //================================ + // Append shadow vertices. + //================================ + { + _uiEffect = _uiEffect ?? GetComponent(); + var start = s_Verts.Count - _graphicVertexCount; + var end = s_Verts.Count; - if (ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled) - { - ptex.SetData(this, 0, _uiEffect.effectFactor); // param.x : effect factor - ptex.SetData(this, 1, 255); // param.y : color factor - ptex.SetData(this, 2, m_BlurFactor); // param.z : blur factor - } + if (ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled) + { + ptex.SetData(this, 0, _uiEffect.effectFactor); // param.x : effect factor + ptex.SetData(this, 1, 255); // param.y : color factor + ptex.SetData(this, 2, m_BlurFactor); // param.z : blur factor + } - _ApplyShadow(s_Verts, effectColor, ref start, ref end, effectDistance, style, useGraphicAlpha); - } + _ApplyShadow(s_Verts, effectColor, ref start, ref end, effectDistance, style, useGraphicAlpha); + } - vh.Clear(); - vh.AddUIVertexTriangleStream(s_Verts); + vh.Clear(); + vh.AddUIVertexTriangleStream(s_Verts); - s_Verts.Clear(); - } + s_Verts.Clear(); + } - UIEffect _uiEffect; + UIEffect _uiEffect; - //################################ - // Private Members. - //################################ - static readonly List s_Verts = new List(4096); + //################################ + // Private Members. + //################################ + static readonly List s_Verts = new List(4096); - /// - /// Append shadow vertices. - /// * It is similar to Shadow component implementation. - /// - void _ApplyShadow(List verts, Color color, ref int start, ref int end, Vector2 effectDistance, ShadowStyle style, bool useGraphicAlpha) - { - if (style == ShadowStyle.None || color.a <= 0) - return; + /// + /// Append shadow vertices. + /// * It is similar to Shadow component implementation. + /// + void _ApplyShadow(List verts, Color color, ref int start, ref int end, Vector2 effectDistance, ShadowStyle style, bool useGraphicAlpha) + { + if (style == ShadowStyle.None || color.a <= 0) + return; - // Append Shadow. - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, effectDistance.y, useGraphicAlpha); + // Append Shadow. + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, effectDistance.y, useGraphicAlpha); - // Append Shadow3. - if (ShadowStyle.Shadow3 == style) - { - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha); - } + // Append Shadow3. + if (ShadowStyle.Shadow3 == style) + { + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha); + } - // Append Outline. - else if (ShadowStyle.Outline == style) - { - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha); - } + // Append Outline. + else if (ShadowStyle.Outline == style) + { + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha); + } - // Append Outline8. - else if (ShadowStyle.Outline8 == style) - { - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, 0, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, -effectDistance.y, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha); - _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha); - } - } + // Append Outline8. + else if (ShadowStyle.Outline8 == style) + { + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, 0, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha); + } + } - /// - /// Append shadow vertices. - /// * It is similar to Shadow component implementation. - /// - void _ApplyShadowZeroAlloc(List verts, Color color, ref int start, ref int end, float x, float y, bool useGraphicAlpha) - { - // Check list capacity. - int count = end - start; - var neededCapacity = verts.Count + count; - if (verts.Capacity < neededCapacity) - verts.Capacity *= 2; + /// + /// Append shadow vertices. + /// * It is similar to Shadow component implementation. + /// + void _ApplyShadowZeroAlloc(List verts, Color color, ref int start, ref int end, float x, float y, bool useGraphicAlpha) + { + // Check list capacity. + int count = end - start; + var neededCapacity = verts.Count + count; + if (verts.Capacity < neededCapacity) + verts.Capacity *= 2; - float normalizedIndex = ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled - ? ptex.GetNormalizedIndex(this) - : -1; + float normalizedIndex = ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled + ? ptex.GetNormalizedIndex(this) + : -1; - // Add - UIVertex vt = default(UIVertex); - for (int i = 0; i < count; i++) - { - verts.Add(vt); - } + // Add + UIVertex vt = default(UIVertex); + for (int i = 0; i < count; i++) + { + verts.Add(vt); + } - // Move - for (int i = verts.Count - 1; count <= i; i--) - { - verts[i] = verts[i - count]; - } + // Move + for (int i = verts.Count - 1; count <= i; i--) + { + verts[i] = verts[i - count]; + } - // Append shadow vertices to the front of list. - // * The original vertex is pushed backward. - for (int i = 0; i < count; ++i) - { - vt = verts[i + start + count]; + // Append shadow vertices to the front of list. + // * The original vertex is pushed backward. + for (int i = 0; i < count; ++i) + { + vt = verts[i + start + count]; - Vector3 v = vt.position; - vt.position.Set(v.x + x, v.y + y, v.z); + Vector3 v = vt.position; + vt.position.Set(v.x + x, v.y + y, v.z); - Color vertColor = effectColor; - vertColor.a = useGraphicAlpha ? color.a * vt.color.a / 255 : color.a; - vt.color = vertColor; + Color vertColor = effectColor; + vertColor.a = useGraphicAlpha ? color.a * vt.color.a / 255 : color.a; + vt.color = vertColor; - // Set UIEffect prameters - if (0 <= normalizedIndex) - { - vt.uv0 = new Vector2( - vt.uv0.x, - normalizedIndex - ); - } + // Set UIEffect prameters + if (0 <= normalizedIndex) + { + vt.uv0 = new Vector2( + vt.uv0.x, + normalizedIndex + ); + } - verts[i] = vt; - } + verts[i] = vt; + } - // Update next shadow offset. - start = end; - end = verts.Count; - } + // Update next shadow offset. + start = end; + end = verts.Count; + } - /// - /// Mark the UIEffect as dirty. - /// - void _SetDirty() - { - if (graphic) - graphic.SetVerticesDirty(); - } + /// + /// Mark the UIEffect as dirty. + /// + void _SetDirty() + { + if (graphic) + graphic.SetVerticesDirty(); + } #if UNITY_EDITOR - public void OnBeforeSerialize() - { - } + public void OnBeforeSerialize() + { + } - public void OnAfterDeserialize() - { - EditorApplication.delayCall += UpgradeIfNeeded; - } + public void OnAfterDeserialize() + { + EditorApplication.delayCall += UpgradeIfNeeded; + } - #pragma warning disable 0612 - void UpgradeIfNeeded() - { - if (0 < m_AdditionalShadows.Count) - { - foreach (var s in m_AdditionalShadows) - { - if (s.style == ShadowStyle.None) - { - continue; - } +#pragma warning disable 0612 + void UpgradeIfNeeded() + { + if (0 < m_AdditionalShadows.Count) + { + foreach (var s in m_AdditionalShadows) + { + if (s.style == ShadowStyle.None) + { + continue; + } - var shadow = gameObject.AddComponent(); - shadow.style = s.style; - shadow.effectDistance = s.effectDistance; - shadow.effectColor = s.effectColor; - shadow.useGraphicAlpha = s.useGraphicAlpha; - shadow.blurFactor = s.blur; - } - m_AdditionalShadows = null; - } - } - #pragma warning restore 0612 + var shadow = gameObject.AddComponent(); + shadow.style = s.style; + shadow.effectDistance = s.effectDistance; + shadow.effectColor = s.effectColor; + shadow.useGraphicAlpha = s.useGraphicAlpha; + shadow.blurFactor = s.blur; + } + m_AdditionalShadows = null; + } + } +#pragma warning restore 0612 #endif - } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs index 2d9037f..5980da4 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs @@ -1,408 +1,408 @@ 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 { - /// - /// UIEffect. - /// - [AddComponentMenu("UI/UIEffect/UIShiny", 2)] - public class UIShiny : UIEffectBase - { - //################################ - // Constant or Static Members. - //################################ - public const string shaderName = "UI/Hidden/UI-Effect-Shiny"; - static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); + /// + /// UIEffect. + /// + [AddComponentMenu("UI/UIEffect/UIShiny", 2)] + public class UIShiny : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-Shiny"; + static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); - //################################ - // Serialize Members. - //################################ - [Tooltip("Location for shiny effect.")] - [FormerlySerializedAs("m_Location")] - [SerializeField] [Range(0, 1)] float m_EffectFactor = 0; + //################################ + // Serialize Members. + //################################ + [Tooltip("Location for shiny effect.")] + [FormerlySerializedAs("m_Location")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 0; - [Tooltip("Width for shiny effect.")] - [SerializeField] [Range(0, 1)] float m_Width = 0.25f; + [Tooltip("Width for shiny effect.")] + [SerializeField][Range(0, 1)] float m_Width = 0.25f; - [Tooltip("Rotation for shiny effect.")] - [SerializeField] [Range(-180, 180)] float m_Rotation; + [Tooltip("Rotation for shiny effect.")] + [SerializeField][Range(-180, 180)] float m_Rotation; - [Tooltip("Softness for shiny effect.")] - [SerializeField][Range(0.01f, 1)] float m_Softness = 1f; + [Tooltip("Softness for shiny effect.")] + [SerializeField][Range(0.01f, 1)] float m_Softness = 1f; - [Tooltip("Brightness for shiny effect.")] - [FormerlySerializedAs("m_Alpha")] - [SerializeField][Range(0, 1)] float m_Brightness = 1f; + [Tooltip("Brightness for shiny effect.")] + [FormerlySerializedAs("m_Alpha")] + [SerializeField][Range(0, 1)] float m_Brightness = 1f; - [Tooltip("Gloss factor for shiny effect.")] - [FormerlySerializedAs("m_Highlight")] - [SerializeField][Range(0, 1)] float m_Gloss = 1; + [Tooltip("Gloss factor for shiny effect.")] + [FormerlySerializedAs("m_Highlight")] + [SerializeField][Range(0, 1)] float m_Gloss = 1; - [Header("Advanced Option")] - [Tooltip("The area for effect.")] - [SerializeField] protected EffectArea m_EffectArea; + [Header("Advanced Option")] + [Tooltip("The area for effect.")] + [SerializeField] protected EffectArea m_EffectArea; - [SerializeField] EffectPlayer m_Player; + [SerializeField] EffectPlayer m_Player; - #pragma warning disable 0414 - [Obsolete][HideInInspector] - [SerializeField] bool m_Play = false; - [Obsolete][HideInInspector] - [SerializeField] bool m_Loop = false; - [Obsolete][HideInInspector] - [SerializeField][Range(0.1f, 10)] float m_Duration = 1; - [Obsolete][HideInInspector] - [SerializeField][Range(0, 10)] float m_LoopDelay = 1; - [Obsolete][HideInInspector] - [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal; - #pragma warning restore 0414 +#pragma warning disable 0414 + [Obsolete] + [HideInInspector] + [SerializeField] bool m_Play = false; + [Obsolete] + [HideInInspector] + [SerializeField] bool m_Loop = false; + [Obsolete] + [HideInInspector] + [SerializeField][Range(0.1f, 10)] float m_Duration = 1; + [Obsolete] + [HideInInspector] + [SerializeField][Range(0, 10)] float m_LoopDelay = 1; + [Obsolete] + [HideInInspector] + [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal; +#pragma warning restore 0414 - //################################ - // Public Members. - //################################ + //################################ + // Public Members. + //################################ - /// - /// Effect factor between 0(start) and 1(end). - /// - [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] - public float location - { - get { return m_EffectFactor; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_EffectFactor, value)) - { - m_EffectFactor = value; - SetDirty(); - } - } - } + /// + /// Effect factor between 0(start) and 1(end). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float location + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } - /// - /// Effect factor between 0(start) and 1(end). - /// - public float effectFactor - { - get { return m_EffectFactor; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_EffectFactor, value)) - { - m_EffectFactor = value; - SetDirty(); - } - } - } + /// + /// Effect factor between 0(start) and 1(end). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } - /// - /// Width for shiny effect. - /// - public float width - { - get { return m_Width; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Width, value)) - { - m_Width = value; - SetDirty(); - } - } - } + /// + /// Width for shiny effect. + /// + public float width + { + get { return m_Width; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Width, value)) + { + m_Width = value; + SetDirty(); + } + } + } - /// - /// Softness for shiny effect. - /// - public float softness - { - get { return m_Softness; } - set - { - value = Mathf.Clamp(value, 0.01f, 1); - if (!Mathf.Approximately(m_Softness, value)) - { - m_Softness = value; - SetDirty(); - } - } - } + /// + /// Softness for shiny effect. + /// + public float softness + { + get { return m_Softness; } + set + { + value = Mathf.Clamp(value, 0.01f, 1); + if (!Mathf.Approximately(m_Softness, value)) + { + m_Softness = value; + SetDirty(); + } + } + } - /// - /// Brightness for shiny effect. - /// - [System.Obsolete("Use brightness instead (UnityUpgradable) -> brightness")] - public float alpha - { - get { return m_Brightness; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Brightness, value)) - { - m_Brightness = value; - SetDirty(); - } - } - } + /// + /// Brightness for shiny effect. + /// + [System.Obsolete("Use brightness instead (UnityUpgradable) -> brightness")] + public float alpha + { + get { return m_Brightness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Brightness, value)) + { + m_Brightness = value; + SetDirty(); + } + } + } - /// - /// Brightness for shiny effect. - /// - public float brightness - { - get { return m_Brightness; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Brightness, value)) - { - m_Brightness = value; - SetDirty(); - } - } - } + /// + /// Brightness for shiny effect. + /// + public float brightness + { + get { return m_Brightness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Brightness, value)) + { + m_Brightness = value; + SetDirty(); + } + } + } - /// - /// Gloss factor for shiny effect. - /// - [System.Obsolete("Use gloss instead (UnityUpgradable) -> gloss")] - public float highlight - { - get { return m_Gloss; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Gloss, value)) - { - m_Gloss = value; - SetDirty(); - } - } - } + /// + /// Gloss factor for shiny effect. + /// + [System.Obsolete("Use gloss instead (UnityUpgradable) -> gloss")] + public float highlight + { + get { return m_Gloss; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Gloss, value)) + { + m_Gloss = value; + SetDirty(); + } + } + } - /// - /// Gloss factor for shiny effect. - /// - public float gloss - { - get { return m_Gloss; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_Gloss, value)) - { - m_Gloss = value; - SetDirty(); - } - } - } + /// + /// Gloss factor for shiny effect. + /// + public float gloss + { + get { return m_Gloss; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Gloss, value)) + { + m_Gloss = value; + SetDirty(); + } + } + } - /// - /// Rotation for shiny effect. - /// - public float rotation - { - get { return m_Rotation; } - set - { - if (!Mathf.Approximately(m_Rotation, value)) - { - m_Rotation = _lastRotation = value; - SetVerticesDirty (); - } - } - } + /// + /// Rotation for shiny effect. + /// + public float rotation + { + get { return m_Rotation; } + set + { + if (!Mathf.Approximately(m_Rotation, value)) + { + m_Rotation = _lastRotation = value; + SetVerticesDirty(); + } + } + } - /// - /// The area for effect. - /// - public EffectArea effectArea - { - get { return m_EffectArea; } - set - { - if (m_EffectArea != value) - { - m_EffectArea = value; - SetVerticesDirty (); - } - } - } + /// + /// The area for effect. + /// + public EffectArea effectArea + { + get { return m_EffectArea; } + set + { + if (m_EffectArea != value) + { + m_EffectArea = value; + SetVerticesDirty(); + } + } + } - /// - /// Play shinning on enable. - /// - [System.Obsolete ("Use Play/Stop method instead")] - public bool play { get { return _player.play; } set { _player.play = value; } } + /// + /// Play shinning on enable. + /// + [System.Obsolete("Use Play/Stop method instead")] + public bool play { get { return _player.play; } set { _player.play = value; } } - /// - /// Play shinning loop. - /// - [System.Obsolete] - public bool loop { get { return _player.loop; } set { _player.loop = value; } } + /// + /// Play shinning loop. + /// + [System.Obsolete] + public bool loop { get { return _player.loop; } set { _player.loop = value; } } - /// - /// Shinning duration. - /// - public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } + /// + /// Shinning duration. + /// + public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } - /// - /// Delay on loop. - /// - [System.Obsolete] - public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } } + /// + /// Delay on loop. + /// + [System.Obsolete] + public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } } - /// - /// Shinning update mode. - /// - public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } + /// + /// Shinning update mode. + /// + public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } - /// - /// Gets the parameter texture. - /// - public override ParameterTexture ptex { get { return _ptex; } } + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable(); - _player.OnEnable(f => effectFactor = f); - } + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + _player.OnEnable(f => effectFactor = f); + } - /// - /// This function is called when the behaviour becomes disabled () or inactive. - /// - protected override void OnDisable() - { - base.OnDisable(); - _player.OnDisable(); - } + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable() + { + base.OnDisable(); + _player.OnDisable(); + } #if UNITY_EDITOR - protected override Material GetMaterial() - { - if (isTMPro) - { - return null; - } + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } - return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName)); - } + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName)); + } - #pragma warning disable 0612 - protected override void UpgradeIfNeeded() - { - // Upgrade for v3.0.0 - if (IsShouldUpgrade(300)) - { - _player.play = m_Play; - _player.duration = m_Duration; - _player.loop = m_Loop; - _player.loopDelay = m_LoopDelay; - _player.updateMode = m_UpdateMode; - } - } - #pragma warning restore 0612 +#pragma warning disable 0612 + protected override void UpgradeIfNeeded() + { + // Upgrade for v3.0.0 + if (IsShouldUpgrade(300)) + { + _player.play = m_Play; + _player.duration = m_Duration; + _player.loop = m_Loop; + _player.loopDelay = m_LoopDelay; + _player.updateMode = m_UpdateMode; + } + } +#pragma warning restore 0612 #endif - /// - /// Modifies the mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!isActiveAndEnabled) - return; + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + return; - bool isText = isTMPro || graphic is Text; - float normalizedIndex = ptex.GetNormalizedIndex(this); + bool isText = isTMPro || graphic is Text; + float normalizedIndex = ptex.GetNormalizedIndex(this); - // rect. - Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect); + // rect. + Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect); - // rotation. - float rad = m_Rotation * Mathf.Deg2Rad; - Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); - dir.x *= rect.height / rect.width; - dir = dir.normalized; + // rotation. + float rad = m_Rotation * Mathf.Deg2Rad; + Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); + dir.x *= rect.height / rect.width; + dir = dir.normalized; - // Calculate vertex position. - UIVertex vertex = default(UIVertex); - Vector2 nomalizedPos; - Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y); // Get local matrix. - for (int i = 0; i < vh.currentVertCount; i++) - { - vh.PopulateUIVertex(ref vertex, i); - m_EffectArea.GetNormalizedFactor (i, localMatrix, vertex.position, isText, out nomalizedPos); + // Calculate vertex position. + UIVertex vertex = default(UIVertex); + Vector2 nomalizedPos; + Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y); // Get local matrix. + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + 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); - } - } + vh.SetUIVertex(vertex, i); + } + } - /// - /// Play effect. - /// - public void Play(bool reset = true) - { - _player.Play(reset); - } + /// + /// Play effect. + /// + public void Play(bool reset = true) + { + _player.Play(reset); + } - /// - /// Stop effect. - /// - public void Stop(bool reset = true) - { - _player.Stop(reset); - } + /// + /// Stop effect. + /// + public void Stop(bool reset = true) + { + _player.Stop(reset); + } - protected override void SetDirty() - { - foreach (var m in materials) - { - ptex.RegisterMaterial (m); - } - ptex.SetData(this, 0, m_EffectFactor); // param1.x : location - ptex.SetData(this, 1, m_Width); // param1.y : width - ptex.SetData(this, 2, m_Softness); // param1.z : softness - ptex.SetData(this, 3, m_Brightness);// param1.w : blightness - ptex.SetData(this, 4, m_Gloss); // param2.x : gloss + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial(m); + } + ptex.SetData(this, 0, m_EffectFactor); // param1.x : location + ptex.SetData(this, 1, m_Width); // param1.y : width + ptex.SetData(this, 2, m_Softness); // param1.z : softness + ptex.SetData(this, 3, m_Brightness);// param1.w : blightness + ptex.SetData(this, 4, m_Gloss); // param2.x : gloss - if (!Mathf.Approximately(_lastRotation, m_Rotation) && targetGraphic) - { - _lastRotation = m_Rotation; - SetVerticesDirty(); - } - } + if (!Mathf.Approximately(_lastRotation, m_Rotation) && targetGraphic) + { + _lastRotation = m_Rotation; + SetVerticesDirty(); + } + } - //################################ - // Private Members. - //################################ - float _lastRotation; + //################################ + // Private Members. + //################################ + float _lastRotation; - EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } } - } + EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs index e2f6bbe..fdf033f 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs @@ -1,356 +1,355 @@ using UnityEngine; using UnityEngine.UI; -using UnityEngine.Serialization; namespace Coffee.UIExtensions { - /// - /// Transition effect. - /// - [AddComponentMenu("UI/UIEffect/UITransitionEffect", 5)] - public class UITransitionEffect : UIEffectBase - { - //################################ - // Constant or Static Members. - //################################ - public const string shaderName = "UI/Hidden/UI-Effect-Transition"; - static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); + /// + /// Transition effect. + /// + [AddComponentMenu("UI/UIEffect/UITransitionEffect", 5)] + public class UITransitionEffect : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-Transition"; + static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); - /// - /// Effect mode. - /// - public enum EffectMode - { - Fade = 1, - Cutoff = 2, - Dissolve = 3, - } + /// + /// Effect mode. + /// + public enum EffectMode + { + Fade = 1, + Cutoff = 2, + Dissolve = 3, + } - //################################ - // Serialize Members. - //################################ - [Tooltip("Effect mode.")] - [SerializeField] EffectMode m_EffectMode = EffectMode.Cutoff; + //################################ + // Serialize Members. + //################################ + [Tooltip("Effect mode.")] + [SerializeField] EffectMode m_EffectMode = EffectMode.Cutoff; - [Tooltip("Effect factor between 0(hidden) and 1(shown).")] - [SerializeField][Range(0, 1)] float m_EffectFactor = 1; + [Tooltip("Effect factor between 0(hidden) and 1(shown).")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 1; - [Tooltip("Transition texture (single channel texture).")] - [SerializeField] Texture m_TransitionTexture; + [Tooltip("Transition texture (single channel texture).")] + [SerializeField] Texture m_TransitionTexture; - [Header("Advanced Option")] - [Tooltip("The area for effect.")] - [SerializeField] EffectArea m_EffectArea = EffectArea.RectTransform; + [Header("Advanced Option")] + [Tooltip("The area for effect.")] + [SerializeField] EffectArea m_EffectArea = EffectArea.RectTransform; - [Tooltip("Keep effect aspect ratio.")] - [SerializeField] bool m_KeepAspectRatio; + [Tooltip("Keep effect aspect ratio.")] + [SerializeField] bool m_KeepAspectRatio; - [Tooltip("Dissolve edge width.")] - [SerializeField] [Range(0, 1)] float m_DissolveWidth = 0.5f; + [Tooltip("Dissolve edge width.")] + [SerializeField][Range(0, 1)] float m_DissolveWidth = 0.5f; - [Tooltip("Dissolve edge softness.")] - [SerializeField] [Range(0, 1)] float m_DissolveSoftness = 0.5f; + [Tooltip("Dissolve edge softness.")] + [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); + [Tooltip("Dissolve edge color.")] + [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; + [Tooltip("Disable graphic's raycast target on hidden.")] + [SerializeField] bool m_PassRayOnHidden; - [Header("Effect Player")] - [SerializeField] EffectPlayer m_Player; + [Header("Effect Player")] + [SerializeField] EffectPlayer m_Player; - //################################ - // Public Members. - //################################ + //################################ + // Public Members. + //################################ - /// - /// Effect factor between 0(no effect) and 1(complete effect). - /// - public float effectFactor - { - get { return m_EffectFactor; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_EffectFactor, value)) - { - m_EffectFactor = value; - SetDirty(); - } - } - } + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } - /// - /// Transition texture. - /// - public Texture transitionTexture - { - get { return m_TransitionTexture; } - set - { - if (m_TransitionTexture != value) - { - m_TransitionTexture = value; - if (graphic) - { - ModifyMaterial(); - } - } - } - } + /// + /// Transition texture. + /// + public Texture transitionTexture + { + get { return m_TransitionTexture; } + set + { + if (m_TransitionTexture != value) + { + m_TransitionTexture = value; + if (graphic) + { + ModifyMaterial(); + } + } + } + } - /// - /// Effect mode. - /// - public EffectMode effectMode { get { return m_EffectMode; } } + /// + /// Effect mode. + /// + public EffectMode effectMode { get { return m_EffectMode; } } - /// - /// Keep aspect ratio. - /// - public bool keepAspectRatio - { - get { return m_KeepAspectRatio; } - set - { - if (m_KeepAspectRatio != value) - { - m_KeepAspectRatio = value; - targetGraphic.SetVerticesDirty(); - } - } - } + /// + /// Keep aspect ratio. + /// + public bool keepAspectRatio + { + get { return m_KeepAspectRatio; } + set + { + if (m_KeepAspectRatio != value) + { + m_KeepAspectRatio = value; + targetGraphic.SetVerticesDirty(); + } + } + } - /// - /// Gets the parameter texture. - /// - public override ParameterTexture ptex { get { return _ptex; } } + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } - /// - /// Dissolve edge width. - /// - public float dissolveWidth - { - get { return m_DissolveWidth; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_DissolveWidth, value)) - { - m_DissolveWidth = value; - SetDirty(); - } - } - } + /// + /// Dissolve edge width. + /// + public float dissolveWidth + { + get { return m_DissolveWidth; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_DissolveWidth, value)) + { + m_DissolveWidth = value; + SetDirty(); + } + } + } - /// - /// Dissolve edge softness. - /// - public float dissolveSoftness - { - get { return m_DissolveSoftness; } - set - { - value = Mathf.Clamp(value, 0, 1); - if (!Mathf.Approximately(m_DissolveSoftness, value)) - { - m_DissolveSoftness = value; - SetDirty(); - } - } - } + /// + /// Dissolve edge softness. + /// + public float dissolveSoftness + { + get { return m_DissolveSoftness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_DissolveSoftness, value)) + { + m_DissolveSoftness = value; + SetDirty(); + } + } + } - /// - /// Dissolve edge color. - /// - public Color dissolveColor - { - get { return m_DissolveColor; } - set - { - if (m_DissolveColor != value) - { - m_DissolveColor = value; - SetDirty(); - } - } - } + /// + /// Dissolve edge color. + /// + public Color dissolveColor + { + get { return m_DissolveColor; } + set + { + if (m_DissolveColor != value) + { + m_DissolveColor = value; + SetDirty(); + } + } + } - /// - /// Duration for showing/hiding. - /// - public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } + /// + /// Duration for showing/hiding. + /// + public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } - /// - /// Disable graphic's raycast target on hidden. - /// - public bool passRayOnHidden { get { return m_PassRayOnHidden; } set { m_PassRayOnHidden = value; } } + /// + /// Disable graphic's raycast target on hidden. + /// + public bool passRayOnHidden { get { return m_PassRayOnHidden; } set { m_PassRayOnHidden = value; } } - /// - /// Update mode for showing/hiding. - /// - public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } + /// + /// Update mode for showing/hiding. + /// + public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } - /// - /// Show transition. - /// - public void Show(bool reset = true) - { - _player.loop = false; - _player.Play(reset, f => effectFactor = f); - } + /// + /// Show transition. + /// + public void Show(bool reset = true) + { + _player.loop = false; + _player.Play(reset, f => effectFactor = f); + } - /// - /// Hide transition. - /// - public void Hide(bool reset = true) - { - _player.loop = false; - _player.Play(reset, f => effectFactor = 1 - f); - } + /// + /// Hide transition. + /// + public void Hide(bool reset = true) + { + _player.loop = false; + _player.Play(reset, f => effectFactor = 1 - f); + } - /// - /// Modifies the material. - /// - public override void ModifyMaterial() - { - if (isTMPro) - { - return; - } + /// + /// Modifies the material. + /// + public override void ModifyMaterial() + { + if (isTMPro) + { + return; + } - ulong hash = (m_TransitionTexture ? (uint)m_TransitionTexture.GetInstanceID() : 0) + ((ulong)2 << 32) + ((ulong)m_EffectMode << 36); - if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial)) - { - MaterialCache.Unregister(_materialCache); - _materialCache = null; - } + ulong hash = (m_TransitionTexture ? (uint)m_TransitionTexture.GetInstanceID() : 0) + ((ulong)2 << 32) + ((ulong)m_EffectMode << 36); + if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial)) + { + MaterialCache.Unregister(_materialCache); + _materialCache = null; + } - if (!isActiveAndEnabled || !m_EffectMaterial) - { - material = null; - } - else if (!m_TransitionTexture) - { - material = m_EffectMaterial; - } - else if (_materialCache != null && _materialCache.hash == hash) - { - material = _materialCache.material; - } - else - { - _materialCache = MaterialCache.Register(hash, m_TransitionTexture, () => - { - var mat = new Material(m_EffectMaterial); - mat.name += "_" + m_TransitionTexture.name; - mat.SetTexture("_NoiseTex", m_TransitionTexture); - return mat; - }); - material = _materialCache.material; - } - } + if (!isActiveAndEnabled || !m_EffectMaterial) + { + material = null; + } + else if (!m_TransitionTexture) + { + material = m_EffectMaterial; + } + else if (_materialCache != null && _materialCache.hash == hash) + { + material = _materialCache.material; + } + else + { + _materialCache = MaterialCache.Register(hash, m_TransitionTexture, () => + { + var mat = new Material(m_EffectMaterial); + mat.name += "_" + m_TransitionTexture.name; + mat.SetTexture("_NoiseTex", m_TransitionTexture); + return mat; + }); + material = _materialCache.material; + } + } - /// - /// Modifies the mesh. - /// - public override void ModifyMesh(VertexHelper vh) - { - if (!isActiveAndEnabled) - { - return; - } + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + { + return; + } - bool isText = isTMPro || graphic is Text; - float normalizedIndex = ptex.GetNormalizedIndex (this); + bool isText = isTMPro || graphic is Text; + 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. + var tex = transitionTexture; + var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1; + Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio); - // Set prameters to vertex. - UIVertex vertex = default(UIVertex); - float x, y; - int count = vh.currentVertCount; - 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); + // Set prameters to vertex. + UIVertex vertex = default(UIVertex); + float x, y; + int count = vh.currentVertCount; + 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); - vertex.uv0 = new Vector2 ( - Packer.ToFloat (vertex.uv0.x, vertex.uv0.y), - Packer.ToFloat (x, y, normalizedIndex) - ); - vh.SetUIVertex(vertex, i); - } - } + vertex.uv0 = new Vector2( + Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), + Packer.ToFloat(x, y, normalizedIndex) + ); + vh.SetUIVertex(vertex, i); + } + } - //################################ - // Protected Members. - //################################ + //################################ + // Protected Members. + //################################ - /// - /// This function is called when the object becomes enabled and active. - /// - protected override void OnEnable() - { - base.OnEnable(); - _player.OnEnable(null); - _player.loop = false; - } + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + _player.OnEnable(null); + _player.loop = false; + } - /// - /// This function is called when the behaviour becomes disabled () or inactive. - /// - protected override void OnDisable() - { - base.OnDisable (); - MaterialCache.Unregister(_materialCache); - _materialCache = null; - _player.OnDisable(); - } + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable() + { + base.OnDisable(); + MaterialCache.Unregister(_materialCache); + _materialCache = null; + _player.OnDisable(); + } - protected override void SetDirty() - { - foreach (var m in materials) - { - ptex.RegisterMaterial (m); - } - ptex.SetData(this, 0, m_EffectFactor); // param1.x : effect factor - if (m_EffectMode == EffectMode.Dissolve) - { - ptex.SetData(this, 1, m_DissolveWidth); // param1.y : width - ptex.SetData(this, 2, m_DissolveSoftness); // param1.z : softness - ptex.SetData(this, 4, m_DissolveColor.r); // param2.x : red - ptex.SetData(this, 5, m_DissolveColor.g); // param2.y : green - ptex.SetData(this, 6, m_DissolveColor.b); // param2.z : blue - } + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial(m); + } + ptex.SetData(this, 0, m_EffectFactor); // param1.x : effect factor + if (m_EffectMode == EffectMode.Dissolve) + { + ptex.SetData(this, 1, m_DissolveWidth); // param1.y : width + ptex.SetData(this, 2, m_DissolveSoftness); // param1.z : softness + ptex.SetData(this, 4, m_DissolveColor.r); // param2.x : red + ptex.SetData(this, 5, m_DissolveColor.g); // param2.y : green + ptex.SetData(this, 6, m_DissolveColor.b); // param2.z : blue + } - // Disable graphic's raycastTarget on hidden. - if (m_PassRayOnHidden) - { - targetGraphic.raycastTarget = 0 < m_EffectFactor; - } - } + // Disable graphic's raycastTarget on hidden. + if (m_PassRayOnHidden) + { + targetGraphic.raycastTarget = 0 < m_EffectFactor; + } + } #if UNITY_EDITOR - /// - /// Gets the material. - /// - /// The material. - protected override Material GetMaterial() - { - return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode); - } + /// + /// Gets the material. + /// + /// The material. + protected override Material GetMaterial() + { + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode); + } #endif - //################################ - // Private Members. - //################################ - MaterialCache _materialCache = null; + //################################ + // Private Members. + //################################ + MaterialCache _materialCache = null; - EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } } - } + EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } } + } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs index b5afb24..adb6735 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs @@ -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; @@ -11,7 +10,7 @@ using UnityEngine.Audio; // Required for AudioMixer #pragma warning disable 1591 namespace DG.Tweening { - public static class DOTweenModuleAudio + public static class DOTweenModuleAudio { #region Shortcuts @@ -50,11 +49,12 @@ namespace DG.Tweening /// The end value to reachThe duration of the tween public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration) { - TweenerCore t = DOTween.To(()=> { - float currVal; - target.GetFloat(floatName, out currVal); - return currVal; - }, x=> target.SetFloat(floatName, x), endValue, duration); + TweenerCore t = DOTween.To(() => + { + float currVal; + target.GetFloat(floatName, out currVal); + return currVal; + }, x => target.SetFloat(floatName, x), endValue, duration); t.SetTarget(target); return t; } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs index 743ef0a..62fa4d2 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs @@ -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; diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs index 6e1469e..cd4cc98 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs @@ -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; @@ -13,7 +12,7 @@ using UnityEngine; #pragma warning disable 1591 namespace DG.Tweening { - public static class DOTweenModulePhysics + public static class DOTweenModulePhysics { #region Shortcuts @@ -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; } @@ -211,6 +212,6 @@ namespace DG.Tweening #endregion #endregion - } + } } #endif diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs index d668003..b2d0204 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs @@ -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; @@ -12,7 +11,7 @@ using UnityEngine; #pragma warning disable 1591 namespace DG.Tweening { - public static class DOTweenModulePhysics2D + public static class DOTweenModulePhysics2D { #region Shortcuts @@ -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; } @@ -188,6 +189,6 @@ namespace DG.Tweening #endregion #endregion - } + } } #endif diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs index 0efebb3..ebca5a3 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs @@ -2,15 +2,14 @@ // 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 { - public static class DOTweenModuleSprite + public static class DOTweenModuleSprite { #region Shortcuts @@ -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,11 +76,12 @@ namespace DG.Tweening { endValue = endValue - target.color; Color to = new Color(0, 0, 0, 0); - return DOTween.To(() => to, x => { - Color diff = x - to; - to = x; - target.color += diff; - }, endValue, duration) + return DOTween.To(() => to, x => + { + Color diff = x - to; + to = x; + target.color += diff; + }, endValue, duration) .Blendable().SetTarget(target); } @@ -88,6 +90,6 @@ namespace DG.Tweening #endregion #endregion - } + } } #endif diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs index 6322b3a..276bf26 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs @@ -3,21 +3,20 @@ #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; #pragma warning disable 1591 namespace DG.Tweening { - public static class DOTweenModuleUI + public static class DOTweenModuleUI { #region Shortcuts @@ -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,10 +128,11 @@ namespace DG.Tweening /// If TRUE the tween will smoothly snap all values to integers public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => { - target.flexibleWidth = x.x; - target.flexibleHeight = x.y; - }, endValue, duration); + TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => + { + target.flexibleWidth = x.x; + target.flexibleHeight = x.y; + }, endValue, duration); t.SetOptions(snapping).SetTarget(target); return t; } @@ -141,7 +143,8 @@ namespace DG.Tweening /// If TRUE the tween will smoothly snap all values to integers public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => { + TweenerCore 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 /// If TRUE the tween will smoothly snap all values to integers public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => { + TweenerCore 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 /// The to use (InvariantCulture if NULL) public static TweenerCore 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 t = DOTween.To(() => v, x => { + TweenerCore 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 public static TweenerCore 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; @@ -657,6 +670,6 @@ namespace DG.Tweening return to.anchoredPosition + localPoint - pivotDerivedOffset; } } - } + } } #endif diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs index 90498ed..14d6b32 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs @@ -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 /// 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 /// 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 /// 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 /// Elapsed loops to wait for 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 /// Position (loops included, delays excluded) to wait for 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 /// 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 /// The duration of the tween public static TweenerCore 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 /// The duration of the tween public static TweenerCore 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 /// 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 /// 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 /// 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 /// Elapsed loops to wait for 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 /// Position (loops included, delays excluded) to wait for 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 /// 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 { - return t.active && !t.IsComplete(); - }} + 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 { - return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0); - }} + 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 { - return t.active; - }} + 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 { - return t.active && t.CompletedLoops() < elapsedLoops; - }} + 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 { - return t.active && t.position * (t.CompletedLoops() + 1) < position; - }} + 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 { - return t.active && !t.playedOnce; - }} + public override bool keepWaiting + { + get + { + return t.active && !t.playedOnce; + } + } readonly Tween t; public WaitForStart(Tween tween) { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs index 3d4c786..d667425 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs @@ -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 CreateDOTweenPathTween( MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode - ){ + ) + { TweenerCore t = null; bool rBodyFoundAndTweened = false; #if true // PHYSICS_MARKER - if (tweenRigidbody) { + if (tweenRigidbody) + { Rigidbody rBody = target.GetComponent(); - 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(); - 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); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll b/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll deleted file mode 100644 index 1d06e30..0000000 Binary files a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll and /dev/null differ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta b/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta deleted file mode 100644 index 0753ee5..0000000 --- a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta +++ /dev/null @@ -1,86 +0,0 @@ -fileFormatVersion: 2 -guid: 1818bd4d6ed568f4f98c1750b011c967 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: ARMv7 - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 1 - settings: - CPU: AnyCPU - DefaultValueInitialized: true - OS: AnyOS - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: - CPU: None - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: - CPU: None - - first: - Standalone: Win - second: - enabled: 1 - settings: - CPU: x86 - - first: - Standalone: Win64 - second: - enabled: 1 - settings: - CPU: x86_64 - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: - AddToEmbeddedBinaries: false - CPU: AnyCPU - CompileFlags: - FrameworkDependencies: - userData: - assetBundleName: - assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim new file mode 100644 index 0000000..4a7cadf --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim @@ -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: [] diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta new file mode 100644 index 0000000..3cc47eb --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 25f1c28c99920124189b7173731c38b5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab index f0028f3..712e88c 100644 --- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab @@ -1,5 +1,103 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &197910204715683756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3877041774025625573} + - component: {fileID: 4761092020446986678} + - component: {fileID: 6349204039935213934} + - component: {fileID: 1930203863893015022} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3877041774025625573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197910204715683756} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2450201408575734812} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4761092020446986678 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197910204715683756} + m_CullTransparentMesh: 1 +--- !u!114 &6349204039935213934 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197910204715683756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3} + m_FontSize: 26 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 185 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: '[ValueMenu]' +--- !u!114 &1930203863893015022 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197910204715683756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BlurFactor: 1 + m_Style: 1 + m_AdditionalShadows: [] + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1.5, y: -1.5} + m_UseGraphicAlpha: 1 --- !u!1 &641655917557919365 GameObject: m_ObjectHideFlags: 0 @@ -96,6 +194,102 @@ MonoBehaviour: m_FlexibleWidth: 1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &663717611383481067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1609320592060400513} + - component: {fileID: 7860273967724122996} + - component: {fileID: 1062489471918314902} + - component: {fileID: 6374434662818679556} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1609320592060400513 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663717611383481067} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2450201408575734812} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7860273967724122996 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663717611383481067} + m_CullTransparentMesh: 1 +--- !u!114 &1062489471918314902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663717611383481067} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6374434662818679556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663717611383481067} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &782102846085628909 GameObject: m_ObjectHideFlags: 0 @@ -528,6 +722,78 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5f9054446a969bf4eaf7998f3ba23334, type: 3} m_Name: m_EditorClassIdentifier: + animator: {fileID: 8744505332349586225} +--- !u!1 &2471254561136382013 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 816049057894123782} + - component: {fileID: 1792874459052106251} + - component: {fileID: 3614321873420207159} + m_Layer: 5 + m_Name: EnumEdit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &816049057894123782 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2471254561136382013} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3923554087608668260} + m_Father: {fileID: 278706555072840209} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1792874459052106251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2471254561136382013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 50 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &3614321873420207159 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2471254561136382013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ef1018f09e7c5b049b75128ee308d372, type: 3} + m_Name: + m_EditorClassIdentifier: + txt_value: {fileID: 882902782535747463} --- !u!1 &2500436782395572584 GameObject: m_ObjectHideFlags: 0 @@ -609,6 +875,105 @@ MonoBehaviour: m_MenuNameTxt: {fileID: 1824253632728291860} m_Icon: {fileID: 394891843266770919} ExpandFlag: {fileID: 1501213187178026014} +--- !u!1 &4124172888520656882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3923554087608668260} + - component: {fileID: 8726940611779585913} + m_Layer: 5 + m_Name: content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3923554087608668260 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4124172888520656882} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6100013163502236362} + m_Father: {fileID: 816049057894123782} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8726940611779585913 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4124172888520656882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &4418047983921236589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 839073477422163140} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &839073477422163140 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4418047983921236589} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 368344292915322445} + m_Father: {fileID: 7336691093202081882} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &4478785627166277609 GameObject: m_ObjectHideFlags: 0 @@ -643,13 +1008,14 @@ RectTransform: m_Children: - {fileID: 8581099496228509946} - {fileID: 2780569438310375802} + - {fileID: 278706555072840209} - {fileID: 2404013603202822047} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 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: @@ -666,6 +1032,7 @@ MonoBehaviour: MenuRoot: {fileID: 4478785627166277610} SelectBorder: {fileID: 7857863493876124730} TEMPLATE_EXECUTEITEM: {fileID: 3721725547312714320} + TEMPLATE_VALUEEDITITEM: {fileID: 2621485483361375335} --- !u!114 &7033441668005100640 MonoBehaviour: m_ObjectHideFlags: 0 @@ -726,6 +1093,392 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &4565892069299376824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 758531668636581813} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &758531668636581813 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4565892069299376824} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8431569032797679710} + m_Father: {fileID: 7336691093202081882} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5.0000153, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5174902406667317058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 278706555072840209} + - component: {fileID: 2621485483361375335} + - component: {fileID: 4314371315188452187} + - component: {fileID: 3305626545226455955} + m_Layer: 5 + m_Name: ValueEditItem_Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &278706555072840209 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5174902406667317058} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2450201408575734812} + - {fileID: 7216060871118576844} + - {fileID: 816049057894123782} + m_Father: {fileID: 4478785627166277610} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2621485483361375335 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5174902406667317058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: deae682aaf23cab458cba1b12cd3a1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MenuNameTxt: {fileID: 6349204039935213934} + m_Icon: {fileID: 1062489471918314902} + com_floatEdit: {fileID: 3979886008433050043} + com_enumEdit: {fileID: 3614321873420207159} +--- !u!114 &4314371315188452187 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5174902406667317058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &3305626545226455955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5174902406667317058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5894141955990945432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2450201408575734812} + - component: {fileID: 6023196883469018230} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2450201408575734812 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5894141955990945432} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1609320592060400513} + - {fileID: 3877041774025625573} + m_Father: {fileID: 278706555072840209} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6023196883469018230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5894141955990945432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 12 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &6312116949113707702 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7216060871118576844} + - component: {fileID: 2814991476448031351} + - component: {fileID: 3979886008433050043} + m_Layer: 5 + m_Name: FloatEdit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7216060871118576844 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6312116949113707702} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3411987631237892165} + m_Father: {fileID: 278706555072840209} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2814991476448031351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6312116949113707702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 50 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &3979886008433050043 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6312116949113707702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8c9e9868e38e8ea44a0dad03b987cd73, type: 3} + m_Name: + m_EditorClassIdentifier: + slider: {fileID: 6489571631904078165} + txt_value: {fileID: 6176548475786947694} +--- !u!1 &6669948312920191200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7336691093202081882} + - component: {fileID: 6489571631904078165} + - component: {fileID: 3374260299666839081} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7336691093202081882 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6669948312920191200} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9188465998620569872} + - {fileID: 758531668636581813} + - {fileID: 839073477422163140} + m_Father: {fileID: 3411987631237892165} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6489571631904078165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6669948312920191200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5663436025380392551} + m_FillRect: {fileID: 8431569032797679710} + m_HandleRect: {fileID: 368344292915322445} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &3374260299666839081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6669948312920191200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 20 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &6998597834321643812 GameObject: m_ObjectHideFlags: 0 @@ -824,3 +1577,492 @@ MonoBehaviour: m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} m_EffectDistance: {x: 1.5, y: -1.5} m_UseGraphicAlpha: 1 +--- !u!1 &8045610840842517781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 368344292915322445} + - component: {fileID: 2285457357903007277} + - component: {fileID: 5663436025380392551} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &368344292915322445 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8045610840842517781} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 839073477422163140} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2285457357903007277 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8045610840842517781} + m_CullTransparentMesh: 1 +--- !u!114 &5663436025380392551 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8045610840842517781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8171039204203639432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3411987631237892165} + - component: {fileID: 8534996973105061084} + m_Layer: 5 + m_Name: content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3411987631237892165 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8171039204203639432} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7336691093202081882} + - {fileID: 1486903153852188972} + m_Father: {fileID: 7216060871118576844} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8534996973105061084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8171039204203639432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &8424237890540861109 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9188465998620569872} + - component: {fileID: 1544250115504974858} + - component: {fileID: 4255075450120709843} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9188465998620569872 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8424237890540861109} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7336691093202081882} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1544250115504974858 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8424237890540861109} + m_CullTransparentMesh: 1 +--- !u!114 &4255075450120709843 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8424237890540861109} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8505862672145461347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8431569032797679710} + - component: {fileID: 5338290108124800152} + - component: {fileID: 51848086538987462} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8431569032797679710 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8505862672145461347} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758531668636581813} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5338290108124800152 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8505862672145461347} + m_CullTransparentMesh: 1 +--- !u!114 &51848086538987462 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8505862672145461347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8608736886725017457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1486903153852188972} + - component: {fileID: 7497419100168238325} + - component: {fileID: 6176548475786947694} + - component: {fileID: 5172613673109503612} + m_Layer: 5 + m_Name: value + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1486903153852188972 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8608736886725017457} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3411987631237892165} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7497419100168238325 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8608736886725017457} + m_CullTransparentMesh: 1 +--- !u!114 &6176548475786947694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8608736886725017457} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 99 +--- !u!114 &5172613673109503612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8608736886725017457} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &8884391103430529053 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6100013163502236362} + - component: {fileID: 88244861463061753} + - component: {fileID: 882902782535747463} + - component: {fileID: 7627463212103394575} + m_Layer: 5 + m_Name: value + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6100013163502236362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8884391103430529053} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3923554087608668260} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &88244861463061753 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8884391103430529053} + m_CullTransparentMesh: 1 +--- !u!114 &882902782535747463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8884391103430529053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: ENUMNAME +--- !u!114 &7627463212103394575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8884391103430529053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller index 2bb69b9..c014038 100644 --- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller @@ -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 diff --git a/AxibugEmuOnline.Client/Assets/Script/App.cs b/AxibugEmuOnline.Client/Assets/Script/App.cs index d320b32..efb607a 100644 --- a/AxibugEmuOnline.Client/Assets/Script/App.cs +++ b/AxibugEmuOnline.Client/Assets/Script/App.cs @@ -1,27 +1,27 @@ -using AxibugEmuOnline.Client.Manager; -using AxibugEmuOnline.Client.Network; -using System.Collections; -using System.IO; -using System.Threading.Tasks; -using UnityEngine; -using UnityEngine.Networking; -using static AxibugEmuOnline.Client.HttpAPI; -using static AxibugEmuOnline.Client.Manager.LogManager; - -namespace AxibugEmuOnline.Client.ClientCore -{ - public static class App - { - public static string TokenStr; - public static string IP; - public static int Port; - public static LogManager log; - public static NetworkHelper network; - public static AppLogin login; - public static AppChat chat; - public static UserDataManager user; - //public static AppNetGame netgame; - public static AppEmu emu; +using AxibugEmuOnline.Client.Manager; +using AxibugEmuOnline.Client.Network; +using System.Collections; +using System.IO; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.Networking; +using static AxibugEmuOnline.Client.HttpAPI; +using static AxibugEmuOnline.Client.Manager.LogManager; + +namespace AxibugEmuOnline.Client.ClientCore +{ + public static class App + { + public static string TokenStr; + public static string IP; + public static int Port; + public static LogManager log; + public static NetworkHelper network; + public static AppLogin login; + public static AppChat chat; + public static UserDataManager user; + //public static AppNetGame netgame; + public static AppEmu emu; public static RomLib nesRomLib; public static HttpAPI httpAPI; public static CacheManager CacheMgr; @@ -39,50 +39,50 @@ namespace AxibugEmuOnline.Client.ClientCore #else public static string PersistentDataPath => Application.persistentDataPath; #endif - public static void Init(Initer initer) - { - settings = new AppSettings(); - - log = new LogManager(); - LogManager.OnLog += OnNoSugarNetLog; - network = new NetworkHelper(); - login = new AppLogin(); - chat = new AppChat(); - user = new UserDataManager(); - emu = new AppEmu(); - //netgame = new AppNetGame(); - httpAPI = new HttpAPI(); - nesRomLib = new RomLib(EnumPlatform.NES); - CacheMgr = new CacheManager(); + public static void Init(Initer initer) + { + settings = new AppSettings(); + + log = new LogManager(); + LogManager.OnLog += OnNoSugarNetLog; + network = new NetworkHelper(); + login = new AppLogin(); + chat = new AppChat(); + user = new UserDataManager(); + emu = new AppEmu(); + //netgame = new AppNetGame(); + httpAPI = new HttpAPI(); + nesRomLib = new RomLib(EnumPlatform.NES); + CacheMgr = new CacheManager(); roomMgr = new AppRoom(); share = new AppShare(); filter = new FilterManager(initer.m_filterVolume, initer.m_filterPreview, initer.m_xmbBg); - var go = new GameObject("[AppAxibugEmuOnline]"); - GameObject.DontDestroyOnLoad(go); - tickLoop = go.AddComponent(); - coRunner = go.AddComponent(); - + var go = new GameObject("[AppAxibugEmuOnline]"); + GameObject.DontDestroyOnLoad(go); + tickLoop = go.AddComponent(); + coRunner = go.AddComponent(); + if (UnityEngine.Application.platform == RuntimePlatform.PSP2) - { - //PSV 等平台需要手动创建目录 - PersistentDataPathDir(); + { + //PSV 等平台需要手动创建目录 + PersistentDataPathDir(); } - var importNode = GameObject.Find("IMPORTENT"); - if (importNode != null) GameObject.DontDestroyOnLoad(importNode); - - StartCoroutine(AppTickFlow()); - RePullNetInfo(); - } - + var importNode = GameObject.Find("IMPORTENT"); + if (importNode != null) GameObject.DontDestroyOnLoad(importNode); + + StartCoroutine(AppTickFlow()); + RePullNetInfo(); + } + private static void PersistentDataPathDir() - { + { if (!Directory.Exists(PersistentDataPath)) - { - Directory.CreateDirectory(PersistentDataPath); - } - } - + { + Directory.CreateDirectory(PersistentDataPath); + } + } + private static IEnumerator AppTickFlow() { while (true) @@ -93,7 +93,7 @@ namespace AxibugEmuOnline.Client.ClientCore } public static void RePullNetInfo() - { + { StartCoroutine(StartNetInit()); } @@ -103,12 +103,12 @@ namespace AxibugEmuOnline.Client.ClientCore yield break; int platform = 0; - bool bTest = false; - if (bTest) - { - yield return null; - Connect("192.168.0.47", 10492); - yield break; + bool bTest = false; + if (bTest) + { + yield return null; + Connect("192.168.0.47", 10492); + yield break; } UnityWebRequest request = UnityWebRequest.Get($"{App.httpAPI.WebSiteApi}/CheckStandInfo?platform={platform}&version={Application.version}"); @@ -138,43 +138,43 @@ namespace AxibugEmuOnline.Client.ClientCore public static Coroutine StartCoroutine(IEnumerator itor) { return coRunner.StartCoroutine(itor); - } - + } + public static void StopCoroutine(Coroutine cor) { coRunner.StopCoroutine(cor); - } - - public static void Connect(string IP, int port) - { + } + + public static void Connect(string IP, int port) + { Task task = new Task(() => { network.Init(IP, port); - }); - task.Start(); - } - - public static void Close() - { - App.log.Info("停止"); - } - static void OnNoSugarNetLog(int LogLevel, string msg) + }); + task.Start(); + } + + public static void Close() { - E_LogType logType = (E_LogType)LogLevel; + App.log.Info("停止"); + } + static void OnNoSugarNetLog(int LogLevel, string msg) + { + E_LogType logType = (E_LogType)LogLevel; switch (logType) - { + { case E_LogType.Debug: case E_LogType.Info: - Debug.Log("[AxiEmu]:" + msg); + Debug.Log("[AxiEmu]:" + msg); break; case E_LogType.Warning: - Debug.LogWarning("[AxiEmu]:" + msg); + Debug.LogWarning("[AxiEmu]:" + msg); break; case E_LogType.Error: - Debug.LogError("[AxiEmu]:" + msg); - break; - } - } - - } + Debug.LogError("[AxiEmu]:" + msg); + break; + } + } + + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs b/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs index af3d35c..0aa0194 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs @@ -1,7 +1,3 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - namespace AxibugEmuOnline.Client { public static class EventInvoker diff --git a/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs b/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs index 2a728b1..95d9add 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs @@ -26,7 +26,22 @@ namespace AxibugEmuOnline.Client where t.DeclaringType.IsSubclassOf(typeof(FilterEffect)) orderby t.MetadataToken select t); - m_editableParamList = parameters.Select(p => new EditableParamerter(p.Name, (ParameterOverride)p.GetValue(this))).ToList(); + + m_editableParamList = new List(); + foreach (var param in parameters) + { + var paramObj = (ParameterOverride)param.GetValue(this); + var rangeAtt = param.GetCustomAttribute(); + float min = 0; + float max = 10; + if (rangeAtt != null) + { + min = rangeAtt.min; max = rangeAtt.max; + } + + var editableParam = new EditableParamerter(param.Name, paramObj, min, max); + m_editableParamList.Add(editableParam); + } } public class EditableParamerter @@ -42,9 +57,13 @@ namespace AxibugEmuOnline.Client set { valueFieldInfo.SetValue(m_paramObject, value); + m_paramObject.overrideState = true; } } - public EditableParamerter(string name, ParameterOverride paramObject) + public object MinValue { get; private set; } + public object MaxValue { get; private set; } + + public EditableParamerter(string name, ParameterOverride paramObject, object minValue, object maxValue) { m_paramObject = paramObject; Name = name; @@ -60,18 +79,16 @@ namespace AxibugEmuOnline.Client { ValueType = typeof(object); } + + MinValue = minValue; + MaxValue = maxValue; } public void ResetToDefault() => m_paramObject.overrideState = false; - public string Serilized() - { - return JsonUtility.ToJson(Value); - } - public void Apply(string json) + public void Apply(object overrideValue) { - var overrideValue = JsonUtility.FromJson(json, ValueType); Value = overrideValue; } } diff --git a/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs b/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs index 10416ae..70bc32a 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs @@ -1,6 +1,4 @@ using AxibugEmuOnline.Client; -using AxibugEmuOnline.Client.ClientCore; -using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.PostProcessing; diff --git a/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs b/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs index 27b1668..52becd6 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs @@ -6,7 +6,7 @@ using UnityEngine.Rendering.PostProcessing; [PostProcess(typeof(MattiasCRTRenderer), PostProcessEvent.BeforeStack, "Filter/MattiasCRT")] public sealed class MattiasCRT : FilterEffect { - public override string Name => nameof(MattiasCRT); + public override string Name => nameof(MattiasCRT); } public sealed class MattiasCRTRenderer : PostProcessEffectRenderer diff --git a/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs b/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs index a004f71..dbc6a27 100644 --- a/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs +++ b/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs @@ -1,7 +1,4 @@ -using System.Collections.Generic; -using UnityEngine; - -namespace AxibugEmuOnline.Client +namespace AxibugEmuOnline.Client { public abstract class CommandChanger : IKeyMapperChanger { diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs index c3b2634..029d76f 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs @@ -3,7 +3,6 @@ using AxibugEmuOnline.Client.Common; using AxibugEmuOnline.Client.Event; using AxibugEmuOnline.Client.Network; using AxibugProtobuf; -using System; namespace AxibugEmuOnline.Client.Manager { diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs index 2c08054..1b01f52 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs @@ -1,11 +1,9 @@ -using AxibugEmuOnline.Client.ClientCore; -using AxibugEmuOnline.Client.Event; -using MyNes.Core; -using System; -using UnityEngine; - -namespace AxibugEmuOnline.Client.Manager -{ +using AxibugEmuOnline.Client.ClientCore; +using AxibugEmuOnline.Client.Event; +using UnityEngine; + +namespace AxibugEmuOnline.Client.Manager +{ public class AppEmu { /// @@ -60,8 +58,8 @@ namespace AxibugEmuOnline.Client.Manager InGameUI.Instance.Show(romFile, m_emuCore); m_emuCore.SetupScheme(); - } - + } + public void StopGame() { if (m_emuCore.IsNull()) return; @@ -74,9 +72,9 @@ namespace AxibugEmuOnline.Client.Manager public void ResetGame() { - if(m_emuCore.IsNull()) return; + if (m_emuCore.IsNull()) return; m_emuCore.DoReset(); } - } -} + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs index 099c2b8..1286aaa 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs @@ -74,7 +74,7 @@ namespace AxibugEmuOnline.Client.Manager long TestFrameID = 0; void TestEmuUpdate() { - + } #endregion diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs index 4070926..5674f36 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs @@ -316,7 +316,7 @@ namespace AxibugEmuOnline.Client.Manager /// void RecvLeavnRoom(byte[] reqData) { - App.log.Debug("加入房间成功"); + App.log.Debug("离开房间成功"); Protobuf_Room_Leave_RESP msg = ProtoBufHelper.DeSerizlize(reqData); ReleaseRePlay(); mineRoomMiniInfo = null; @@ -374,6 +374,7 @@ namespace AxibugEmuOnline.Client.Manager byte[] decompressRawData = Helper.DecompressByteArray(msg.LoadStateRaw.ToByteArray()); App.log.Info($"收到即时存档数据 解压后;{decompressRawData.Length}"); RawData = decompressRawData; + ReleaseRePlay(); } Eventer.Instance.PostEvent(EEvent.OnRoomWaitStepChange, WaitStep); } diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs index abfbfb4..9478469 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs @@ -1,4 +1,4 @@ -using DG.Tweening; +using AxibugEmuOnline.Client.ClientCore; using System; using System.Collections.Generic; using System.Linq; @@ -95,7 +95,8 @@ namespace AxibugEmuOnline.Client filter = Filters.FirstOrDefault(f => f.Name == value.filterName); if (filter != null) { - preset = filter.Presets.FirstOrDefault(p => p.Name == value.filterName); + string presetName = value.presetName; + preset = filter.Presets.FirstOrDefault(p => p.Name == presetName); } return (filter, preset); @@ -127,9 +128,9 @@ namespace AxibugEmuOnline.Client else Presets = loadedPresets.presets; } - private void savePresets() + public void SavePresets() { - var json = JsonUtility.ToJson(new FilterPresetList { presets = Presets }); + var json = JsonUtility.ToJson(new FilterPresetList(Presets)); PlayerPrefs.SetString($"Filter_{Name}_PresetList", json); } @@ -142,7 +143,7 @@ namespace AxibugEmuOnline.Client newPreset = new FilterPreset(presetName); Presets.Add(newPreset); - savePresets(); + SavePresets(); return true; } @@ -150,7 +151,7 @@ namespace AxibugEmuOnline.Client public void RemovePreset(FilterPreset preset) { if (!Presets.Remove(preset)) return; - savePresets(); + SavePresets(); EventInvoker.RaiseFilterPresetRemoved(this, preset); } @@ -167,11 +168,11 @@ namespace AxibugEmuOnline.Client { foreach (var param in Paramerters) { - var json = preset.GetParamValueJson(param.Name); - if (string.IsNullOrEmpty(json)) + var value = preset.GetParamValue(param.Name, param.ValueType); + if (value == null) param.ResetToDefault(); else - param.Apply(json); + param.Apply(value); } } @@ -183,6 +184,15 @@ namespace AxibugEmuOnline.Client private class FilterPresetList { public List presets; + + public FilterPresetList(List presets) + { + this.presets = presets; + foreach (var preset in presets) + { + preset.ReadyForJson(); + } + } } [Serializable] @@ -202,6 +212,14 @@ namespace AxibugEmuOnline.Client Name = presetName; } + public void ReadyForJson() + { + prepareCache(); + + m_paramName = m_paramName2ValueJson.Keys.ToList(); + m_valueJson = m_paramName2ValueJson.Values.ToList(); + } + public string GetParamValueJson(string paramName) { prepareCache(); @@ -210,6 +228,43 @@ namespace AxibugEmuOnline.Client return value; } + public object GetParamValue(string paramName, Type valueType) + { + var rawStr = GetParamValueJson(paramName); + if (rawStr == null) return null; + + if (valueType == typeof(float)) + { + float.TryParse(rawStr, out var floatVal); + return floatVal; + } + else if (valueType.IsEnum) + { + var names = Enum.GetNames(valueType); + var values = Enum.GetValues(valueType); + + for (int i = 0; i < names.Length; i++) + { + if (names[i].Equals(rawStr)) + { + return values.GetValue(i); + } + } + return null; + } + else + { + App.log.Error($"尚未支持的滤镜参数类型{valueType}"); + return null; + } + } + + public void SetParamValue(string paramName, Type valueType, object value) + { + prepareCache(); + m_paramName2ValueJson[paramName] = value.ToString(); + } + private void prepareCache() { if (m_cacheReady) return; diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs index e7a3399..b308e36 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs @@ -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 { diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs index 614eb64..2acfc0e 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs @@ -27,6 +27,7 @@ namespace AxibugEmuOnline.Client int step = channels; if (NesEmu == null || NesEmu.NesCore == null) return; + if (NesEmu.IsPause) return; ProcessSound(NesEmu.NesCore, (uint)(data.Length / channels)); diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs index a7a5c16..9e231f1 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs @@ -1,6 +1,4 @@ -using System; -using System.Text; -using UnityEngine; +using UnityEngine; using VirtualNes.Core; namespace AxibugEmuOnline.Client diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs index dae7063..f32f151 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs @@ -21,7 +21,9 @@ namespace AxibugEmuOnline.Client //ƵUnityģƵݵIJųʵ֣ public AudioProvider AudioProvider; //Ƿͣ - public bool m_bPause; + private bool m_bPause; + /// Ƿͣ + public bool IsPause => m_bPause; private void Start() { diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat index d581fae..eed7c2b 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat @@ -2,24 +2,20 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: NesEmulator_Screen m_Shader: {fileID: 4800000, guid: b351396ff606116478d7f4412abe4e2e, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] + m_ShaderKeywords: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] - m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -63,7 +59,6 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - _BumpScale: 1 - _ColorMask: 15 @@ -92,4 +87,3 @@ Material: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs index 495cf09..4399de2 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs @@ -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 { diff --git a/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs b/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs index 0d2e358..901e698 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs @@ -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 { diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs b/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs index 8a1d98b..ddb40b7 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs @@ -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 diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs index 5768a15..2f0a050 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs @@ -18,7 +18,7 @@ namespace AxibugEmuOnline.Client { App.filter.ShutDownFilterPreview(); App.filter.ShutDownFilter(); - + return base.OnExitItem(); } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs index eb7952e..562f067 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs @@ -1,5 +1,6 @@ using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.UI; +using System; using System.Collections.Generic; using System.Linq; using UnityEngine; @@ -88,12 +89,16 @@ namespace AxibugEmuOnline.Client private Filter m_filter; private FilterPreset m_preset; private OptionUI_MenuItem m_ui; + private List m_menu; public Opt_Presets(Filter filter, FilterPreset preset) : base(preset.Name, null) { m_filter = filter; m_preset = preset; + m_menu = new List(); + m_menu.Add(new Opt_Delete(m_filter, m_preset)); + foreach (var p in m_filter.Paramerters) m_menu.Add(new Opt_ParamEditor(m_filter, p, m_preset)); } public override void OnShow(OptionUI_MenuItem ui) @@ -122,7 +127,37 @@ namespace AxibugEmuOnline.Client protected override List GetOptionMenus() { - return new List { new Opt_Delete(m_filter, m_preset) }; + return m_menu; + } + + public class Opt_ParamEditor : ValueSetMenu + { + private Filter m_filter; + private FilterEffect.EditableParamerter m_param; + private FilterPreset m_preset; + + public Opt_ParamEditor(Filter filter, FilterEffect.EditableParamerter editParam, FilterPreset preset) + : base(editParam.Name) + { + m_filter = filter; + m_param = editParam; + m_preset = preset; + } + + public override Type ValueType => m_param.ValueType; + + public override object ValueRaw => m_preset.GetParamValue(m_param.Name, ValueType) ?? m_param.Value; + + public override void OnValueChanged(object newValue) + { + m_preset.SetParamValue(m_param.Name, ValueType, newValue); + m_filter.SavePresets(); + m_param.Apply(newValue); + } + + public override object Min => m_param.MinValue; + + public override object Max => m_param.MaxValue; } public class Opt_Delete : ExecuteMenu @@ -141,6 +176,8 @@ namespace AxibugEmuOnline.Client m_filter.RemovePreset(m_preset); } } + + } } } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs index 858bac4..43a8a8b 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs @@ -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 { diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs index f52b45c..0da7fd4 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs @@ -1,6 +1,4 @@ using AxibugEmuOnline.Client.UI; -using System.Collections; -using System.Collections.Generic; using UnityEngine; namespace AxibugEmuOnline.Client diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs index d74f62d..77eedfc 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs @@ -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)); diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs new file mode 100644 index 0000000..563c471 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs @@ -0,0 +1,62 @@ +using AxibugEmuOnline.Client.ClientCore; +using System.Collections.Generic; +using System.Linq; +using static AxibugEmuOnline.Client.FilterManager; + +namespace AxibugEmuOnline.Client +{ + public class InGameUI_FilterSetting : ExpandMenu + { + private InGameUI m_gameUI; + + public InGameUI_FilterSetting(InGameUI gameUI) : base("˾", null) + { + m_gameUI = gameUI; + } + + protected override List GetOptionMenus() + { + return App.filter.Filters.Select(f => new FilterMenu(m_gameUI.RomFile, f) as OptionMenu).ToList(); + } + + public class FilterMenu : ExpandMenu + { + private Filter m_filter; + private List m_presetsMenuItems; + + public FilterMenu(RomFile rom, Filter filter) : base(filter.Name, null) + { + m_filter = filter; + m_presetsMenuItems = new List { new FilterPresetMenu(rom, m_filter, m_filter.DefaultPreset) }; + m_presetsMenuItems.AddRange(m_filter.Presets.Select(preset => new FilterPresetMenu(rom, m_filter, preset))); + } + + protected override List GetOptionMenus() + { + return m_presetsMenuItems; + } + } + + public class FilterPresetMenu : ExecuteMenu + { + private FilterPreset m_preset; + private RomFile m_rom; + private Filter m_filter; + + public FilterPresetMenu(RomFile rom, Filter filter, FilterPreset preset) : base(preset.Name, null) + { + m_preset = preset; + m_rom = rom; + m_filter = filter; + } + + public override void OnExcute(OptionUI optionUI, ref bool cancelHide) + { + m_filter.ApplyPreset(m_preset); + App.filter.EnableFilter(m_filter); + + App.filter.SetupFilter(m_rom, m_filter, m_preset); + } + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta new file mode 100644 index 0000000..622411e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b6c80949e93f37f42a1af843fa9d77fa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs index 872c793..8424dec 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs @@ -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 { diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs index f20c497..d435ca3 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs @@ -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 { diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs index 1cf4dc4..fd44a4f 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs @@ -1,4 +1,3 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs index 1652b81..2d4e289 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs @@ -1,6 +1,4 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEditor; +using UnityEditor; using UnityEditor.UI; using UnityEngine; diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs index 6f60218..58f857e 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs index 74d6094..1fcdf22 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs @@ -1,7 +1,6 @@ using DG.Tweening; using System; using System.Collections.Generic; -using System.Linq; using UnityEngine; namespace AxibugEmuOnline.Client @@ -16,6 +15,7 @@ namespace AxibugEmuOnline.Client [Space] [Header("ģ")] [SerializeField] OptionUI_ExecuteItem TEMPLATE_EXECUTEITEM; + [SerializeField] OptionUI_ValueEditItem TEMPLATE_VALUEEDITITEM; private OptionUI m_child; private OptionUI m_parent; @@ -65,12 +65,15 @@ namespace AxibugEmuOnline.Client protected override void Awake() { TEMPLATE_EXECUTEITEM.gameObject.SetActiveEx(false); + TEMPLATE_VALUEEDITITEM.gameObject.SetActiveEx(false); + SelectBorder.gameObject.SetActiveEx(false); base.Awake(); } protected override void Update() { + SelectBorder.Active = Enable; UpdateMenuState(); base.Update(); @@ -177,6 +180,7 @@ namespace AxibugEmuOnline.Client var itemUIRect = optionUI_MenuItem.transform as RectTransform; SelectBorder.Target = itemUIRect; + SelectBorder.RefreshPosition(); if (!m_bPoped) { @@ -268,15 +272,19 @@ namespace AxibugEmuOnline.Client { if (menuData is ExecuteMenu executeMenu) { - var menuUI = GameObject.Instantiate(TEMPLATE_EXECUTEITEM.gameObject, TEMPLATE_EXECUTEITEM.transform.parent).GetComponent(); + var menuUI = Instantiate(TEMPLATE_EXECUTEITEM.gameObject, TEMPLATE_EXECUTEITEM.transform.parent).GetComponent(); menuUI.gameObject.SetActive(true); menuUI.SetData(this, executeMenu); m_runtimeMenuItems.Add(menuUI); } - else + else if (menuData is ValueSetMenu valueSetMenu) { - throw new NotImplementedException($"ݲֵ֧IJ˵{menuData.GetType().Name}"); + var menuUI = Instantiate(TEMPLATE_VALUEEDITITEM.gameObject, TEMPLATE_VALUEEDITITEM.transform.parent).GetComponent(); + menuUI.gameObject.SetActive(true); + menuUI.SetData(this, valueSetMenu); + m_runtimeMenuItems.Add(menuUI); } + else throw new NotImplementedException($"ݲֵ֧IJ˵{menuData.GetType().Name}"); } private void ReleaseRuntimeMenus() @@ -304,10 +312,23 @@ namespace AxibugEmuOnline.Client Hide(); } + protected override void OnCmdSelectItemLeft() + { + var executer = m_runtimeMenuItems[SelectIndex]; + if (executer != null) + { + executer.OnLeft(); + } + } + protected override void OnCmdSelectItemRight() { var executer = m_runtimeMenuItems[SelectIndex]; - if (!executer.IsExpandMenu) return; + if (!executer.IsExpandMenu) + { + executer.OnRight(); + return; + } OnCmdEnter(); } @@ -383,25 +404,6 @@ namespace AxibugEmuOnline.Client protected abstract List GetOptionMenus(); } - /// - /// ֵʾͱ༭IJ˵ - /// - /// - public class ValueSetMenu : ValueSetMenu - { - public sealed override Type ValueType => typeof(T); - - public T Value { get; private set; } - - public sealed override object ValueRaw => Value; - - public sealed override void OnValueChanged(object newValue) - { - Value = (T)newValue; - } - protected ValueSetMenu(string name) : base(name) { } - } - /// ҪֱӼ̳ public abstract class OptionMenu { @@ -420,7 +422,9 @@ namespace AxibugEmuOnline.Client public virtual void OnShow(OptionUI_MenuItem ui) { } public virtual void OnHide() { } } - /// ҪֱӼ̳ + /// + /// ֵʾͱ༭IJ˵ + /// public abstract class ValueSetMenu : OptionMenu { public ValueSetMenu(string name) : base(name) { } @@ -428,7 +432,7 @@ namespace AxibugEmuOnline.Client public abstract Type ValueType { get; } public abstract object ValueRaw { get; } public abstract void OnValueChanged(object newValue); + public abstract object Min { get; } + public abstract object Max { get; } } - - } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs index 5b3203f..f3ae05b 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs @@ -35,6 +35,8 @@ namespace AxibugEmuOnline.Client protected abstract void OnSetData(OptionMenu menuData); public abstract void OnExecute(OptionUI optionUI, ref bool cancelHide); + public virtual void OnLeft() { } + public virtual void OnRight() { } public abstract void OnFocus(); public virtual void OnHide() { } } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs new file mode 100644 index 0000000..9c88a3f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs @@ -0,0 +1,69 @@ +using AxibugEmuOnline.Client.ClientCore; +using UnityEngine; + +namespace AxibugEmuOnline.Client +{ + public class OptionUI_ValueEditItem : OptionUI_MenuItem + { + [SerializeField] + OptionUI_ValueEditItem_FloatEdit com_floatEdit; + [SerializeField] + OptionUI_ValueEditItem_EnumEdit com_enumEdit; + + IValueEditControl m_currentCom; + + protected override void OnSetData(OptionMenu menuData) + { + com_floatEdit.gameObject.SetActive(false); + com_enumEdit.gameObject.SetActive(false); + + if (menuData is ValueSetMenu valueMenu) + { + if (valueMenu.ValueType == typeof(float)) + { + m_currentCom = com_floatEdit; + } + else if (valueMenu.ValueType.IsEnum) + { + m_currentCom = com_enumEdit; + } + else + { + App.log.Error($"δֵ֧:{valueMenu.ValueType}"); + return; + } + + + m_currentCom.gameObject.SetActiveEx(true); + m_currentCom.SetData(valueMenu); + } + + base.OnSetData(menuData); + } + + public override void OnExecute(OptionUI optionUI, ref bool cancelHide) + { + cancelHide = true; + m_currentCom?.OnExecute(); + } + + public override void OnLeft() + { + m_currentCom?.OnLeft(); + } + + public override void OnRight() + { + m_currentCom?.OnRight(); + } + } + + public interface IValueEditControl + { + void SetData(ValueSetMenu valueMenu); + GameObject gameObject { get; } + void OnLeft(); + void OnRight(); + void OnExecute(); + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta new file mode 100644 index 0000000..4b7744c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: deae682aaf23cab458cba1b12cd3a1f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs new file mode 100644 index 0000000..6b5f6fe --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace AxibugEmuOnline.Client +{ + public class OptionUI_ValueEditItem_EnumEdit : MonoBehaviour, IValueEditControl + { + [SerializeField] + Text txt_value; + + private ValueSetMenu m_valueMenu; + private List m_enumValues = new List(); + private int m_valueIndex; + + public void SetData(ValueSetMenu valueMenu) + { + m_valueMenu = valueMenu; + txt_value.text = valueMenu.ValueRaw.ToString(); + + foreach (Enum enumValue in Enum.GetValues(valueMenu.ValueType)) + { + m_enumValues.Add(enumValue); + } + m_valueIndex = m_enumValues.IndexOf((Enum)valueMenu.ValueRaw); + } + + public void OnLeft() + { + m_valueIndex--; + + if (m_valueIndex < 0) m_valueIndex = m_enumValues.Count - 1; + + var value = m_enumValues[m_valueIndex]; + txt_value.text = value.ToString(); + m_valueMenu.OnValueChanged(value); + } + + public void OnRight() + { + m_valueIndex++; + + if (m_valueIndex >= m_enumValues.Count) m_valueIndex = 0; + + var value = m_enumValues[m_valueIndex]; + txt_value.text = value.ToString(); + m_valueMenu.OnValueChanged(value); + } + + public void OnExecute() + { + OnRight(); + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta new file mode 100644 index 0000000..78cb595 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ef1018f09e7c5b049b75128ee308d372 diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs new file mode 100644 index 0000000..bd1a3ab --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs @@ -0,0 +1,53 @@ +using System; +using UnityEngine; +using UnityEngine.UI; + +namespace AxibugEmuOnline.Client +{ + public class OptionUI_ValueEditItem_FloatEdit : MonoBehaviour, IValueEditControl + { + [SerializeField] + Slider slider; + [SerializeField] + Text txt_value; + + float m_step; + private ValueSetMenu m_valueMenu; + + private void Awake() + { + slider.onValueChanged.AddListener(OnSliderValueChanged); + } + + private void OnSliderValueChanged(float value) + { + txt_value.text = $"{value:.00}"; + m_valueMenu.OnValueChanged(value); + } + + public void SetData(ValueSetMenu valueMenu) + { + m_valueMenu = valueMenu; + slider.minValue = (float)valueMenu.Min; + slider.maxValue = (float)valueMenu.Max; + slider.value = (float)valueMenu.ValueRaw; + m_step = (slider.maxValue - slider.minValue) * 0.05f; + } + + public void OnLeft() + { + var newValue = Mathf.Clamp(slider.value - m_step, slider.minValue, slider.maxValue); + slider.value = newValue; + } + + public void OnRight() + { + var newValue = Mathf.Clamp(slider.value + m_step, slider.minValue, slider.maxValue); + slider.value = newValue; + } + + public void OnExecute() + { + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta new file mode 100644 index 0000000..551e6ed --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c9e9868e38e8ea44a0dad03b987cd73 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs index 083ead2..957f0d1 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs @@ -1,6 +1,4 @@ using DG.Tweening; -using System.Collections; -using System.Collections.Generic; using UnityEngine; namespace AxibugEmuOnline.Client diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs index 9cd7a5c..274b544 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs @@ -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; diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs b/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs index 2fa6b6d..a982a08 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs @@ -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 bool m_active; + public bool Active + { + get => m_active; + set + { + 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) + if (m_trackTween != null && m_trackTween.endValue != Target.position) { - m_trackTween.endValue = Target.position; + m_trackTween.ChangeEndValue(Target.position, true); } if (Target == null) return; - - m_rect.position = Target.position; } } } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs b/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs index 9ea68bf..fbeae12 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs @@ -1,4 +1,3 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs index 859d9de..9721a82 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs @@ -20,7 +20,7 @@ namespace AxibugEmuOnline.Client base.Awake(); RomGroupRoot.gameObject.SetActive(false); - RomGroupRoot.alpha = 0; + RomGroupRoot.alpha = 0; } public override void SetSelectState(bool selected) @@ -58,7 +58,7 @@ namespace AxibugEmuOnline.Client thirdMenuGroup.itemGroup.Clear(); RefreshUI(); - + if (SubMenuItemGroup != null) SubMenuItemGroup.SetSelect(true); return true; diff --git a/AxibugEmuOnline.Client/Assets/Script/Utility.cs b/AxibugEmuOnline.Client/Assets/Script/Utility.cs index 212a716..86d005e 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Utility.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Utility.cs @@ -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) @@ -53,8 +52,8 @@ namespace AxibugEmuOnline.Client RomFile romFile = new RomFile(EnumPlatform.NES, 0, 0); romFile.SetWebData(romWebData); s_RomFileCahcesInRoomInfo[roomInfo.GameRomID] = romFile; - - callback.Invoke(roomInfo,romFile); + + callback.Invoke(roomInfo, romFile); })); break; } diff --git a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef index b4819ec..99b3952 100644 --- a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef +++ b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef @@ -10,5 +10,5 @@ "autoReferenced": false, "defineConstraints": [], "versionDefines": [], - "noEngineReferences": false + "noEngineReferences": true } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset b/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset index 4da0947..650f257 100644 --- a/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset +++ b/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset @@ -8,7 +8,4 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scene/AxibugEmuOnline.Client.unity guid: eb0c18a619175384d95147898a43054b - - enabled: 0 - path: Assets/Scene/Emu_NES.unity - guid: 3dba71db67877594a9b5b77059205ec8 m_configObjects: {}