diff --git a/.gitignore b/.gitignore index e26f5ef..45bb007 100644 --- a/.gitignore +++ b/.gitignore @@ -2,15 +2,19 @@ Assets/* !Assets/Shaders/ !Assets/Textures/ +!Assets/Scripts/ +!Assets/UI/ +!Assets/ConformalDecals/ KSP/ Library/ Logs/ Packages/ ProjectSettings/ Temp/ + +# Unity Assetbundle Manifest Files GameData/ConformalDecals/Resources/Resources -GameData/ConformalDecals/Resources/Resources.manifest -GameData/ConformalDecals/Resources/conformaldecals.shab.manifest +GameData/ConformalDecals/Resources/*.manifest # Unity Project Files PartTools.cfg diff --git a/Assets/ConformalDecals/BoxSlider.cs b/Assets/ConformalDecals/BoxSlider.cs new file mode 100644 index 0000000..9521bc3 --- /dev/null +++ b/Assets/ConformalDecals/BoxSlider.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + [AddComponentMenu("UI/BoxSlider", 35)] + [RequireComponent(typeof(RectTransform))] + public class BoxSlider : Selectable, IDragHandler, IInitializePotentialDragHandler, ICanvasElement { + [Serializable] + public class BoxSliderEvent : UnityEvent { } + + [SerializeField] private RectTransform _handleRect; + [SerializeField] private Vector2 _value = Vector2.zero; + + // Allow for delegate-based subscriptions for faster events than 'eventReceiver', and allowing for multiple receivers. + [SerializeField] private BoxSliderEvent _onValueChanged = new BoxSliderEvent(); + + public BoxSliderEvent OnValueChanged { + get => _onValueChanged; + set => _onValueChanged = value; + } + + // Private fields + public void OnDrag(PointerEventData eventData) { } + + public void OnInitializePotentialDrag(PointerEventData eventData) { } + + public void Rebuild(CanvasUpdate executing) { } + + public void LayoutComplete() { } + + public void GraphicUpdateComplete() { } + } +} \ No newline at end of file diff --git a/Assets/ConformalDecals/ColorBoxSlider.cs b/Assets/ConformalDecals/ColorBoxSlider.cs new file mode 100644 index 0000000..399c02c --- /dev/null +++ b/Assets/ConformalDecals/ColorBoxSlider.cs @@ -0,0 +1,13 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class ColorBoxSlider : MonoBehaviour{ + [SerializeField] private Vector2 _value; + + [SerializeField] private BoxSlider _slider; + [SerializeField] private Image _image; + + public void OnSliderUpdate(Vector2 value) { } + } +} \ No newline at end of file diff --git a/Assets/ConformalDecals/ColorChannelSlider.cs b/Assets/ConformalDecals/ColorChannelSlider.cs new file mode 100644 index 0000000..fc54cab --- /dev/null +++ b/Assets/ConformalDecals/ColorChannelSlider.cs @@ -0,0 +1,18 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class ColorChannelSlider : MonoBehaviour { + [SerializeField] private float _value; + [SerializeField] private int _channel; + [SerializeField] private bool _hsv; + + [SerializeField] private Selectable _textBox; + [SerializeField] private Slider _slider; + [SerializeField] private Image _image; + + public void OnTextBoxUpdate(string text) { } + + public void OnSliderUpdate(float value) { } + } +} \ No newline at end of file diff --git a/Assets/ConformalDecals/ColorPickerController.cs b/Assets/ConformalDecals/ColorPickerController.cs new file mode 100644 index 0000000..b02d652 --- /dev/null +++ b/Assets/ConformalDecals/ColorPickerController.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class ColorPickerController : MonoBehaviour { + [SerializeField] private Color _value; + [SerializeField] private Image _previewImage; + [SerializeField] private Selectable _hexTextBox; + + public void Close() { } + + public void OnHexColorUpdate(string text) { } + } +} \ No newline at end of file diff --git a/Assets/ConformalDecals/ConformalDecals.asmdef b/Assets/ConformalDecals/ConformalDecals.asmdef new file mode 100644 index 0000000..07dfa88 --- /dev/null +++ b/Assets/ConformalDecals/ConformalDecals.asmdef @@ -0,0 +1,3 @@ +{ + "name": "ConformalDecals" +} diff --git a/Assets/ConformalDecals/FontMenuController.cs b/Assets/ConformalDecals/FontMenuController.cs new file mode 100644 index 0000000..c75620c --- /dev/null +++ b/Assets/ConformalDecals/FontMenuController.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +namespace ConformalDecals.UI { + public class FontMenuController : MonoBehaviour { + [SerializeField] private GameObject _menuItem; + [SerializeField] private GameObject _menuList; + + public void Close() { } + } +} \ No newline at end of file diff --git a/Assets/ConformalDecals/TextEntryController.cs b/Assets/ConformalDecals/TextEntryController.cs new file mode 100644 index 0000000..d203d42 --- /dev/null +++ b/Assets/ConformalDecals/TextEntryController.cs @@ -0,0 +1,37 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class TextEntryController : MonoBehaviour { + [SerializeField] private Selectable _textBox; + [SerializeField] private Button _fontButton; + + [SerializeField] private Slider _lineSpacingSlider; + [SerializeField] private Selectable _lineSpacingTextBox; + + [SerializeField] private Slider _charSpacingSlider; + [SerializeField] private Selectable _charSpacingTextBox; + + [SerializeField] private Toggle _boldButton; + [SerializeField] private Toggle _italicButton; + [SerializeField] private Toggle _underlineButton; + [SerializeField] private Toggle _smallCapsButton; + [SerializeField] private Toggle _verticalButton; + + public void Close() { } + + public void OnTextUpdate(string text) { } + + public void OnFontMenu() { } + + public void OnLineSpacingUpdate(float value) { } + public void OnLineSpacingUpdate(string text) { } + public void OnCharSpacingUpdate(float value) { } + public void OnCharSpacingUpdate(string text) { } + public void OnBoldUpdate(bool state) { } + public void OnItalicUpdate(bool state) { } + public void OnUnderlineUpdate(bool state) { } + public void OnSmallCapsUpdate(bool state) { } + public void OnVerticalUpdate(bool state) { } + } +} \ No newline at end of file diff --git a/Assets/ConformalDecals/UITag.cs b/Assets/ConformalDecals/UITag.cs new file mode 120000 index 0000000..9704d73 --- /dev/null +++ b/Assets/ConformalDecals/UITag.cs @@ -0,0 +1 @@ +/Users/drewcassidy/Projects/KSP-Conformal-Decals/Source/ConformalDecals/UI/UITag.cs \ No newline at end of file diff --git a/Assets/Plugins/DecalProjectorTest.cs b/Assets/Scripts/DecalProjectorTest.cs similarity index 71% rename from Assets/Plugins/DecalProjectorTest.cs rename to Assets/Scripts/DecalProjectorTest.cs index f365c78..0fb32c1 100644 --- a/Assets/Plugins/DecalProjectorTest.cs +++ b/Assets/Scripts/DecalProjectorTest.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using System; +using UnityEngine; [ExecuteInEditMode] public class DecalProjectorTest : MonoBehaviour @@ -23,9 +24,6 @@ public class DecalProjectorTest : MonoBehaviour void Awake() { _projectionMatrix = Matrix4x4.identity; - _matrixID = Shader.PropertyToID("_ProjectionMatrix"); - _normalID = Shader.PropertyToID("_DecalNormal"); - _tangentID= Shader.PropertyToID("_DecalTangent"); targetRenderer = target.GetComponent(); } @@ -40,8 +38,9 @@ public class DecalProjectorTest : MonoBehaviour var projectorToTarget = targetRenderer.worldToLocalMatrix * transform.localToWorldMatrix; _projectionMatrix = _OrthoMatrix * targetToProjector; - targetMaterial.SetMatrix(_matrixID, _projectionMatrix); - targetMaterial.SetVector(_normalID, projectorToTarget.MultiplyVector(Vector3.back).normalized); - targetMaterial.SetVector(_tangentID, projectorToTarget.MultiplyVector(Vector3.right).normalized); + targetMaterial.SetMatrix("_ProjectionMatrix", _projectionMatrix); + targetMaterial.SetVector("_DecalNormal", projectorToTarget.MultiplyVector(Vector3.back).normalized); + targetMaterial.SetVector("_DecalTangent", projectorToTarget.MultiplyVector(Vector3.right).normalized); } + } diff --git a/Assets/Scripts/TextRenderTest.cs b/Assets/Scripts/TextRenderTest.cs new file mode 100644 index 0000000..6e2fc85 --- /dev/null +++ b/Assets/Scripts/TextRenderTest.cs @@ -0,0 +1,117 @@ +using System.Collections; +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using UnityEngine.Rendering; + +public class TextRenderTest : MonoBehaviour { + //[InspectorButton("go")] public bool button; + + public Camera _camera; + + public GameObject _cameraObject; + + public TextMeshPro _tmp; + + public Material _blitMaterial; + + public Material _targetMaterial; + + public RenderTexture renderTex; + private float pixelDensity = 8; + private int MaxTextureSize = 4096; + private static readonly int Decal = Shader.PropertyToID("_Decal"); + + public const TextureFormat TextTextureFormat = TextureFormat.RG16; + public const RenderTextureFormat TextRenderTextureFormat = RenderTextureFormat.R8; + + // Start is called before the first frame update + void Start() { + Debug.Log("starting..."); + + StartCoroutine(OnRender()); + } + + // Update is called once per frame + void Update() { } + + private IEnumerator OnRender() { + Debug.Log("starting...2"); + + // calculate camera and texture size + _tmp.ForceMeshUpdate(); + var mesh = _tmp.mesh; + mesh.RecalculateBounds(); + var bounds = mesh.bounds; + Debug.Log(bounds.size); + + var width = bounds.size.x * pixelDensity; + var height = bounds.size.y * pixelDensity; + + var widthPoT = Mathf.NextPowerOfTwo((int) width); + var heightPoT = Mathf.NextPowerOfTwo((int) height); + + if (widthPoT > MaxTextureSize) { + widthPoT /= widthPoT / MaxTextureSize; + heightPoT /= widthPoT / MaxTextureSize; + } + + if (heightPoT > MaxTextureSize) { + widthPoT /= heightPoT / MaxTextureSize; + heightPoT /= heightPoT / MaxTextureSize; + } + + widthPoT = Mathf.Min(widthPoT, MaxTextureSize); + heightPoT = Mathf.Min(heightPoT, MaxTextureSize); + + var widthRatio = widthPoT / width; + var heightRatio = heightPoT / height; + + var sizeRatio = Mathf.Min(widthRatio, heightRatio); + + Debug.Log(sizeRatio); + + int scaledHeight = (int) (sizeRatio * height); + int scaledWidth = (int) (sizeRatio * width); + + Debug.Log($"width = {scaledWidth}"); + Debug.Log($"height = {scaledHeight}"); + + _camera.orthographicSize = scaledHeight / pixelDensity / 2; + _camera.aspect = (float) widthPoT / heightPoT; + + _cameraObject.transform.localPosition = new Vector3(bounds.center.x, bounds.center.y, -1); + + var halfHeight = heightPoT / pixelDensity / 2 / sizeRatio; + var halfWidth = widthPoT / pixelDensity / 2 / sizeRatio; + var matrix = Matrix4x4.Ortho(bounds.center.x - halfWidth, bounds.center.x + halfWidth, + bounds.center.y - halfHeight, bounds.center.y + halfHeight, -1, 1); + + // setup texture + var texture = new Texture2D(widthPoT, heightPoT, TextTextureFormat, true); + _targetMaterial.SetTexture(Decal, texture); + + + // setup render texture + renderTex = RenderTexture.GetTemporary(widthPoT, heightPoT, 0, TextRenderTextureFormat, RenderTextureReadWrite.Linear, 1); + renderTex.autoGenerateMips = false; + + RenderTexture.active = renderTex; + GL.PushMatrix(); + GL.LoadProjectionMatrix(matrix); + _blitMaterial.SetPass(0); + Graphics.DrawMeshNow(mesh, Matrix4x4.identity); + GL.PopMatrix(); + + // setup material + _blitMaterial.mainTexture = _tmp.font.atlas; + + yield return null; + + RenderTexture.active = renderTex; + texture.ReadPixels(new Rect(0, 0, widthPoT, heightPoT), 0, 0, true); + texture.Apply(false, true); + + RenderTexture.ReleaseTemporary(renderTex); + } +} \ No newline at end of file diff --git a/Assets/Shaders/ColorSlider.shader b/Assets/Shaders/ColorSlider.shader new file mode 100644 index 0000000..9629293 --- /dev/null +++ b/Assets/Shaders/ColorSlider.shader @@ -0,0 +1,143 @@ +Shader "ConformalDecals/UI/Color Slider" +{ + Properties + { + _Color("Color", Color) = (0,0,0,0) + _Radius("Radius", Float) = 4 + + _OutlineGradient("Outline Gradient Step", Range (0, 1)) = 0.6 + _OutlineOpacity("Outline Opacity", Range (0, 0.5)) = 0.1 + _OutlineWidth("Outline Width", Float) = 3 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + [Toggle(HUE)] _Hue ("Hue", int) = 0 + [Toggle(RED)] _Red ("Red", int) = 0 + [Toggle(GREEN)] _Green ("Green", int) = 0 + [Toggle(BLUE)] _Blue ("Blue", int) = 0 + + + } + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma require integers + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "HSL.cginc" + #include "SDF.cginc" + + #pragma multi_compile_local _ UNITY_UI_CLIP_RECT + #pragma multi_compile_local _ UNITY_UI_ALPHACLIP + #pragma multi_compile_local HUE RED GREEN BLUE + + float4 _ClipRect; + float _Radius; + float4 _Color; + + float _OutlineGradient; + float _OutlineOpacity; + float _OutlineWidth; + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.worldPosition = v.vertex; + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + float4 color = 1; + + #ifdef HUE + color.rgb = HSV2RGB(float3(i.uv.y, _Color.y, _Color.z)); + #endif //HUE + + #ifdef RED + color.rgb = float3(i.uv.x, _Color.g, _Color.b); + #endif //RED + + #ifdef GREEN + color.rgb = float3(_Color.r, i.uv.x, _Color.b); + #endif //GREEN + + #ifdef BLUE + color.rgb = float3(_Color.r, _Color.g, i.uv.x); + #endif //BLUE + + float rrect = sdRoundedUVBox(i.uv, _Radius); + float gradient = smoothstep(_OutlineGradient, 1 - _OutlineGradient, i.uv.y); + float outlineOpacity = _OutlineOpacity * smoothstep(-1*_OutlineWidth, 0, rrect); + + color.rgb = lerp(color.rgb, gradient, outlineOpacity); + + color.a = saturate(0.5 - rrect); + + #ifdef UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/ColorSquare.shader b/Assets/Shaders/ColorSquare.shader new file mode 100644 index 0000000..1b3663d --- /dev/null +++ b/Assets/Shaders/ColorSquare.shader @@ -0,0 +1,122 @@ +Shader "ConformalDecals/UI/HSV Square" +{ + Properties + { + _Color("Color", Color) = (0,0,0,0) + _Radius("Radius", Float) = 4 + + _OutlineGradient("Outline Gradient Step", Range (0, 1)) = 0.6 + _OutlineOpacity("Outline Opacity", Range (0, 0.5)) = 0.1 + _OutlineWidth("Outline Width", Float) = 3 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + } + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma require integers + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "HSL.cginc" + #include "SDF.cginc" + + #pragma multi_compile_local _ UNITY_UI_CLIP_RECT + #pragma multi_compile_local _ UNITY_UI_ALPHACLIP + + float4 _ClipRect; + float _Radius; + float4 _Color; + + float _OutlineGradient; + float _OutlineOpacity; + float _OutlineWidth; + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.worldPosition = v.vertex; + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 color = 1; + + color.a = saturate(0.5 - sdRoundedUVBox(i.uv, _Radius)); + + color.rgb = HSV2RGB(float3(_Color.x, i.uv.x, i.uv.y)); + + float rrect = sdRoundedUVBox(i.uv, _Radius); + float gradient = smoothstep(_OutlineGradient, 1 - _OutlineGradient, i.uv.y); + float outlineOpacity = _OutlineOpacity * smoothstep(-1*_OutlineWidth, 0, rrect); + + color.rgb = lerp(color.rgb, gradient, outlineOpacity); + + #ifdef UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/ColorSwatch.shader b/Assets/Shaders/ColorSwatch.shader new file mode 100644 index 0000000..dad3246 --- /dev/null +++ b/Assets/Shaders/ColorSwatch.shader @@ -0,0 +1,120 @@ +Shader "ConformalDecals/UI/Color Swatch" +{ + Properties + { + _Color("Color", Color) = (0,0,0,0) + _Radius("Radius", Float) = 4 + + _OutlineGradient("Outline Gradient Step", Range (0, 1)) = 0.6 + _OutlineOpacity("Outline Opacity", Range (0, 0.5)) = 0.1 + _OutlineWidth("Outline Width", Float) = 3 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + } + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma require integers + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "HSL.cginc" + #include "SDF.cginc" + + #pragma multi_compile_local _ UNITY_UI_CLIP_RECT + #pragma multi_compile_local _ UNITY_UI_ALPHACLIP + #pragma multi_compile_local HUE RED GREEN BLUE + + float4 _ClipRect; + float _Radius; + float4 _Color; + + float _OutlineGradient; + float _OutlineOpacity; + float _OutlineWidth; + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.worldPosition = v.vertex; + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 color = _Color; + + color.a = saturate(0.5 - sdRoundedUVBox(i.uv, _Radius)); + + float rrect = sdRoundedUVBox(i.uv, _Radius); + float gradient = smoothstep(_OutlineGradient, 1 - _OutlineGradient, i.uv.y); + float outlineOpacity = _OutlineOpacity * smoothstep(-1*_OutlineWidth, 0, rrect); + + color.rgb = lerp(color.rgb, gradient, outlineOpacity); + + #ifdef UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/DecalFeatureBumped.shader b/Assets/Shaders/DecalFeatureBumped.shader deleted file mode 100644 index c670c5b..0000000 --- a/Assets/Shaders/DecalFeatureBumped.shader +++ /dev/null @@ -1,130 +0,0 @@ -Shader "ConformalDecals/Feature/Bumped" -{ - Properties - { - [Header(Texture Maps)] - _Decal("Decal Texture", 2D) = "gray" {} - _DecalBumpMap("Decal Bump Map", 2D) = "bump" {} - - _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) - - [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 - [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 - - [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 - [PerRendererData]_Color("_Color", Color) = (1,1,1,1) - [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 - [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) - [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 - } - SubShader - { - Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} - Cull [_Cull] - Ztest LEqual - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardBase" } - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap - #pragma multi_compile DECAL_PROJECT DECAL_PREVIEW - - sampler2D _Decal; - sampler2D _DecalBumpMap; - - float4 _Decal_ST; - float4 _DecalBumpMap_ST; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_NORMAL - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormalDXT5nm(tex2D(_DecalBumpMap, IN.uv_bump)); - - decalClipAlpha(color.a - _Cutoff); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - o.Normal = normal; - } - - ENDCG - } - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardAdd" } - Blend One One - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap - #pragma multi_compile DECAL_PROJECT DECAL_PREVIEW - - sampler2D _Decal; - sampler2D _DecalBumpMap; - - float4 _Decal_ST; - float4 _DecalBumpMap_ST; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_NORMAL - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = UnpackNormal(tex2D(_DecalBumpMap, IN.uv_bump)); - - decalClipAlpha(color.a - _Cutoff); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - o.Normal = normal; - } - - ENDCG - } - - // shadow casting support - UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" - } -} \ No newline at end of file diff --git a/Assets/Shaders/DecalPaint.shader b/Assets/Shaders/DecalPaint.shader deleted file mode 100644 index 754989d..0000000 --- a/Assets/Shaders/DecalPaint.shader +++ /dev/null @@ -1,143 +0,0 @@ -Shader "ConformalDecals/Paint/Diffuse" -{ - Properties - { - [Header(Texture Maps)] - _Decal("Decal Texture", 2D) = "gray" {} - _BumpMap("Bump Map", 2D) = "bump" {} - - _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 - _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 - - _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) - - [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 - [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 - - [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 - [PerRendererData]_Color("_Color", Color) = (1,1,1,1) - [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 - [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) - [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 - } - SubShader - { - Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} - Cull [_Cull] - Ztest LEqual - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardBase" } - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - - float4 _Decal_ST; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - - decalClipAlpha(color.a - _Cutoff); - - float3 normal = IN.normal; - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - } - - ENDCG - } - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardAdd" } - Blend One One - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - - float4 _Decal_ST; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - - decalClipAlpha(color.a - _Cutoff); - - float3 normal = IN.normal; - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - } - - ENDCG - } - - // shadow casting support - UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" - } -} \ No newline at end of file diff --git a/Assets/Shaders/DecalPaintSDF.shader b/Assets/Shaders/DecalPaintSDF.shader deleted file mode 100644 index 9070a02..0000000 --- a/Assets/Shaders/DecalPaintSDF.shader +++ /dev/null @@ -1,159 +0,0 @@ -Shader "ConformalDecals/Paint/DiffuseSDF" -{ - Properties - { - [Header(Texture Maps)] - _Decal("Decal Texture", 2D) = "gray" {} - _BumpMap("Bump Map", 2D) = "bump" {} - - _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 - _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 - - _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _Smoothness ("SDF smoothness", Range(0,1)) = 0.15 - _SmoothnessMipScale ("Smoothness fadeout", Range(0,1)) = 0.1 - _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) - - [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 - [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 - - [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 - [PerRendererData]_Color("_Color", Color) = (1,1,1,1) - [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 - [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) - [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 - } - SubShader - { - Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} - Cull [_Cull] - Ztest LEqual - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardBase" } - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - - float4 _Decal_ST; - float4 _Decal_TexelSize; - - float _Smoothness; - float _SmoothnessMipScale; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = IN.normal; - - float smoothScale = (1 - saturate(1-(CalcMipLevel(IN.uv_decal * _Decal_TexelSize.zw) * _SmoothnessMipScale))) / 2; - color.a = smoothstep(_Cutoff - smoothScale, saturate(_Smoothness + smoothScale + _Cutoff), color.a); - - decalClipAlpha(color.a); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - } - - ENDCG - } - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardAdd" } - Blend One One - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - - float4 _Decal_ST; - float4 _Decal_TexelSize; - - float _Smoothness; - float _SmoothnessMipScale; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 normal = IN.normal; - - float smoothScale = (1 - saturate(1-(CalcMipLevel(IN.uv_decal * _Decal_TexelSize.zw) * _SmoothnessMipScale))) / 2; - color.a = smoothstep(_Cutoff - smoothScale, saturate(_Smoothness + smoothScale + _Cutoff), color.a); - - decalClipAlpha(color.a); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - } - - ENDCG - } - - // shadow casting support - UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" - } -} \ No newline at end of file diff --git a/Assets/Shaders/DecalPaintSpecular.shader b/Assets/Shaders/DecalPaintSpecular.shader deleted file mode 100644 index d577d36..0000000 --- a/Assets/Shaders/DecalPaintSpecular.shader +++ /dev/null @@ -1,165 +0,0 @@ -Shader "ConformalDecals/Paint/Specular" -{ - Properties - { - [Header(Texture Maps)] - _Decal("Decal Texture", 2D) = "gray" {} - _BumpMap("Bump Map", 2D) = "bump" {} - _SpecMap("Specular Map", 2D) = "black" {} - - _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 - _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 - - _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) - - [Header(Specularity)] - _SpecColor ("_SpecColor", Color) = (0.25, 0.25, 0.25, 1) - _Shininess ("Shininess", Range (0.03, 10)) = 0.3 - - [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 - [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 - - [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 - [PerRendererData]_Color("_Color", Color) = (1,1,1,1) - [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 - [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) - [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 - } - SubShader - { - Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} - Cull [_Cull] - Ztest LEqual - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardBase" } - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - sampler2D _SpecMap; - - float4 _Decal_ST; - float4 _SpecMap_ST; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - half _Shininess; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - #define DECAL_SPECULAR - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 specular = tex2D(_SpecMap, IN.uv_spec); - - decalClipAlpha(color.a - _Cutoff); - - float3 normal = IN.normal; - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - color.a *= _DecalOpacity; - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a; - o.Emission = emission; - o.Specular = _Shininess; - o.Gloss = specular.r * color.a; - } - - ENDCG - } - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardAdd" } - Blend One One - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - sampler2D _SpecMap; - - float4 _Decal_ST; - float4 _SpecMap_ST; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - half _Shininess; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - #define DECAL_SPECULAR - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 specular = tex2D(_SpecMap, IN.uv_spec); - float3 normal = IN.normal; - - decalClipAlpha(color.a - _Cutoff); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - o.Specular = _Shininess; - o.Gloss = specular.r; - } - - ENDCG - } - - // shadow casting support - UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" - } -} \ No newline at end of file diff --git a/Assets/Shaders/DecalPaintSpecularSDF.shader b/Assets/Shaders/DecalPaintSpecularSDF.shader deleted file mode 100644 index 59575b6..0000000 --- a/Assets/Shaders/DecalPaintSpecularSDF.shader +++ /dev/null @@ -1,180 +0,0 @@ -Shader "ConformalDecals/Paint/SpecularSDF" -{ - Properties - { - [Header(Texture Maps)] - _Decal("Decal Texture", 2D) = "gray" {} - _BumpMap("Bump Map", 2D) = "bump" {} - _SpecMap("Specular Map", 2D) = "black" {} - - _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 - _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 - - _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 - _Smoothness ("SDF smoothness", Range(0,1)) = 0.15 - _SmoothnessMipScale ("Smoothness fadeout", Range(0,1)) = 0.1 - _DecalOpacity("Opacity", Range(0,1) ) = 1 - _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) - - [Header(Specularity)] - _SpecColor ("_SpecColor", Color) = (0.25, 0.25, 0.25, 1) - _Shininess ("Shininess", Range (0.03, 10)) = 0.3 - - [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 - [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 - - [Header(Effects)] - [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 - [PerRendererData]_Color("_Color", Color) = (1,1,1,1) - [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 - [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) - [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 - } - SubShader - { - Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} - Cull [_Cull] - Ztest LEqual - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardBase" } - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - sampler2D _SpecMap; - - float4 _Decal_ST; - float4 _Decal_TexelSize; - float4 _SpecMap_ST; - - float _Smoothness; - float _SmoothnessMipScale; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - half _Shininess; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - #define DECAL_SPECULAR - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 specular = tex2D(_SpecMap, IN.uv_spec); - float3 normal = IN.normal; - - float smoothScale = (1 - saturate(1-(CalcMipLevel(IN.uv_decal * _Decal_TexelSize.zw) * _SmoothnessMipScale))) / 2; - color.a = smoothstep(_Cutoff - smoothScale, saturate(_Smoothness + smoothScale + _Cutoff), color.a); - - decalClipAlpha(color.a); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - o.Specular = _Shininess; - o.Gloss = specular.r; - } - - ENDCG - } - - Pass - { - Name "FORWARD" - Tags { "LightMode" = "ForwardAdd" } - Blend One One - - CGPROGRAM - #pragma vertex vert_forward - #pragma fragment frag_forward - - #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap - #pragma multi_compile __ DECAL_PREVIEW - - sampler2D _Decal; - sampler2D _SpecMap; - - float4 _Decal_ST; - float4 _Decal_TexelSize; - float4 _SpecMap_ST; - - float _Smoothness; - float _SmoothnessMipScale; - - float _EdgeWearStrength; - float _EdgeWearOffset; - - half _Shininess; - - float _RimFalloff; - float4 _RimColor; - - #define DECAL_BASE_NORMAL - #define DECAL_SPECULAR - - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "AutoLight.cginc" - #include "LightingKSP.cginc" - #include "DecalsCommon.cginc" - - void surf (DecalSurfaceInput IN, inout SurfaceOutput o) - { - float4 color = tex2D(_Decal, IN.uv_decal); - float3 specular = tex2D(_SpecMap, IN.uv_spec); - float3 normal = IN.normal; - - float smoothScale = (1 - saturate(1-(CalcMipLevel(IN.uv_decal * _Decal_TexelSize.zw) * _SmoothnessMipScale))) / 2; - color.a = smoothstep(_Cutoff - smoothScale, saturate(_Smoothness + smoothScale + _Cutoff), color.a); - - decalClipAlpha(color.a); - - half rim = 1.0 - saturate(dot (normalize(IN.viewDir), normal)); - float3 emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; - - float wearFactor = 1 - normal.z; - float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); - - color.a *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); - - o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; - o.Alpha = color.a * _DecalOpacity; - o.Emission = emission; - o.Specular = _Shininess; - o.Gloss = specular.r; - } - - ENDCG - } - - // shadow casting support - UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" - } -} \ No newline at end of file diff --git a/Assets/Shaders/DecalsCommon.cginc b/Assets/Shaders/DecalsCommon.cginc index ba8039a..81656e5 100644 --- a/Assets/Shaders/DecalsCommon.cginc +++ b/Assets/Shaders/DecalsCommon.cginc @@ -1,26 +1,93 @@ #ifndef DECALS_COMMON_INCLUDED #define DECALS_COMMON_INCLUDED +#include "AutoLight.cginc" +#include "Lighting.cginc" + +#define CLIP_MARGIN 0.05 +#define EDGE_MARGIN 0.01 + +// UNIFORM VARIABLES +// Projection matrix, normal, and tangent vectors +float4x4 _ProjectionMatrix; +float3 _DecalNormal; +float3 _DecalTangent; + +// Common Shading Paramaters +float _Cutoff; +float _DecalOpacity; +float4 _Background; + +sampler2D _Decal; +float4 _Decal_ST; + +// Variant Shading Parameters +#ifdef DECAL_BASE_NORMAL + sampler2D _BumpMap; + float4 _BumpMap_ST; + float _EdgeWearStrength; + float _EdgeWearOffset; +#endif //DECAL_BASE_NORMAL + +#ifdef DECAL_BUMPMAP + sampler2D _BumpMap; + float4 _BumpMap_ST; +#endif //DECAL_BUMPMAP + +#ifdef DECAL_SPECMAP + sampler2D _SpecMap; + float4 _SpecMap_ST; + // specular color is declared in a unity CGINC for some reason?? + fixed _Shininess; +#endif //DECAL_SPECMAP + +#ifdef DECAL_EMISSIVE + sampler2D _Emissive; + float4 _Emissive_ST; + fixed4 _Emissive_Color; +#endif //DECAL_EMISSIVE + +// KSP EFFECTS +// opacity and color +float _Opacity; +float4 _Color; +float _RimFalloff; +float4 _RimColor; + +// fog +float4 _LocalCameraPos; +float4 _LocalCameraDir; +float4 _UnderwaterFogColor; +float _UnderwaterMinAlphaFogDistance; +float _UnderwaterMaxAlbedoFog; +float _UnderwaterMaxAlphaFog; +float _UnderwaterAlbedoDistanceScalar; +float _UnderwaterAlphaDistanceScalar; +float _UnderwaterFogFactor; + +// SURFACE INPUT STRUCT struct DecalSurfaceInput { + float3 uv; float2 uv_decal; - #ifdef DECAL_NORMAL - float2 uv_bump; - #endif //DECAL_NORMAL + #ifdef DECAL_BUMPMAP + float2 uv_bumpmap; + #endif //DECAL_BUMPMAP - #ifdef DECAL_SPECULAR - float2 uv_spec; - #endif //DECAL_SPECULAR + #ifdef DECAL_SPECMAP + float2 uv_specmap; + #endif //DECAL_SPECMAP #ifdef DECAL_EMISSIVE - float2 uv_glow; + float2 uv_emissive; #endif //DECAL_EMISSIVE #ifdef DECAL_BASE_NORMAL float3 normal; - #endif - + #endif //DECAL_BASE_NORMAL + + float3 vertex_normal; float3 viewDir; float3 worldPosition; }; @@ -59,20 +126,6 @@ struct v2f #endif //UNITY_PASS_FORWARDADD }; -// Projection matrix, normal, and tangent vectors -float4x4 _ProjectionMatrix; -float3 _DecalNormal; -float3 _DecalTangent; - -#ifdef DECAL_BASE_NORMAL - sampler2D _BumpMap; - float4 _BumpMap_ST; -#endif //DECAL_BASE_NORMAL - -float _Cutoff; -float _DecalOpacity; -float _Opacity; -float4 _Background; inline void decalClipAlpha(float alpha) { #ifndef DECAL_PREVIEW @@ -88,200 +141,16 @@ inline float CalcMipLevel(float2 texture_coord) { return 0.5 * log2(delta_max_sqr); } -// modifed version of the KSP BlinnPhong because it does some weird things -inline fixed4 LightingBlinnPhongDecal(SurfaceOutput s, fixed3 lightDir, half3 viewDir, fixed atten) -{ - s.Normal = normalize(s.Normal); - half3 h = normalize(lightDir + viewDir); - - fixed diff = max(0, dot(s.Normal, lightDir)); - - float nh = max(0, dot(s.Normal, h)); - float spec = pow(nh, s.Specular*128.0) * s.Gloss; - - fixed4 c = 0; - c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * _SpecColor.rgb * spec) * (atten); - return c; -} - -// declare surf function, -// this must be defined in any shader using this cginc -void surf (DecalSurfaceInput IN, inout SurfaceOutput o); - -v2f vert_forward(appdata_decal v) -{ - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - - o.pos = UnityObjectToClipPos(v.vertex); - o.normal = v.normal; - - #ifdef DECAL_PREVIEW - o.uv_decal = v.texcoord; - #else - o.uv_decal = mul (_ProjectionMatrix, v.vertex); - #endif //DECAL_PREVIEW - - #ifdef DECAL_BASE_NORMAL - o.uv_base = TRANSFORM_TEX(v.texcoord, _BumpMap); - #endif //DECAL_BASE_NORMAL - - float3 worldPosition = mul(unity_ObjectToWorld, v.vertex).xyz; - float3 worldNormal = UnityObjectToWorldNormal(v.normal); - - #if defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) - // use tangent of base geometry - fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); - fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; - fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign; - #else - // use tangent of projector - fixed3 decalTangent = UnityObjectToWorldDir(_DecalTangent); - fixed3 worldBinormal = cross(decalTangent, worldNormal); - fixed3 worldTangent = cross(worldNormal, worldBinormal); - #endif //defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) - - o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPosition.x); - o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPosition.y); - o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPosition.z); - - // forward base pass specific lighting code - #ifdef UNITY_PASS_FORWARDBASE - // SH/ambient light - #if UNITY_SHOULD_SAMPLE_SH - float3 shlight = ShadeSH9 (float4(worldNormal,1.0)); - o.vlight = shlight; - #else - o.vlight = 0.0; - #endif // UNITY_SHOULD_SAMPLE_SH - - // vertex light - #ifdef VERTEXLIGHT_ON - o.vlight += Shade4PointLights ( - unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0, - unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb, - unity_4LightAtten0, worldPosition, worldNormal ); - #endif // VERTEXLIGHT_ON - #endif // UNITY_PASS_FORWARDBASE - - // pass shadow and, possibly, light cookie coordinates to pixel shader - UNITY_TRANSFER_LIGHTING(o, 0.0); - - return o; -} - -fixed4 frag_forward(v2f IN) : SV_Target -{ - // declare data - DecalSurfaceInput i; - SurfaceOutput o; - fixed4 c = 0; - - // setup world-space TBN vectors - UNITY_EXTRACT_TBN(IN); - - float3 worldPosition = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w); - float3 worldTangent = float3(IN.tSpace0.x, IN.tSpace1.x, IN.tSpace2.x); - - // setup world-space light and view direction vectors - #ifndef USING_DIRECTIONAL_LIGHT - fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPosition)); - #else - fixed3 lightDir = _WorldSpaceLightPos0.xyz; - #endif - float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPosition)); - float3 viewDir = _unity_tbn_0 * worldViewDir.x + _unity_tbn_1 * worldViewDir.y + _unity_tbn_2 * worldViewDir.z; - +inline float BoundsDist(float3 p, float3 normal, float3 projNormal) { + float3 q = abs(p - 0.5) - 0.5; // 1x1 square/cube centered at (0.5,0.5) + //float dist = length(max(q,0)) + min(max(q.x,max(q.y,q.z)),0.0); // true SDF #ifdef DECAL_PREVIEW - fixed4 uv_projected = IN.uv_decal; + return 10 * max(q.x, q.y); // 2D pseudo SDF #else - // perform decal projection - fixed4 uv_projected = UNITY_PROJ_COORD(IN.uv_decal); - - // clip texture outside of xyz bounds - clip(uv_projected.xyz); - clip(1-uv_projected.xyz); - - // clip backsides - clip(dot(_DecalNormal, IN.normal)); + float dist = max(max(q.x, q.y), q.z); // pseudo SDF + float ndist = EDGE_MARGIN - dot(normal, projNormal); // SDF to normal + return 10 * max(dist, ndist); // return intersection #endif //DECAL_PREVIEW - - // initialize surface input - UNITY_INITIALIZE_OUTPUT(DecalSurfaceInput, i) - i.uv_decal = TRANSFORM_TEX(uv_projected, _Decal); - - #ifdef DECAL_NORMAL - i.uv_bump = TRANSFORM_TEX(uv_projected, _DecalBumpMap); - #endif //DECAL_NORMAL - - #ifdef DECAL_SPECULAR - i.uv_spec = TRANSFORM_TEX(uv_projected, _SpecMap); - #endif //DECAL_SPECULAR - - #ifdef DECAL_EMISSIVE - i.uv_glow = TRANSFORM_TEX(uv_projected, _GlowMap); - #endif //DECAL_EMISSIVE - - #ifdef DECAL_BASE_NORMAL - #ifdef DECAL_PREVIEW - i.normal = fixed3(0,0,1); - #else - i.normal = UnpackNormalDXT5nm(tex2D(_BumpMap, IN.uv_base)); - #endif //DECAL_PREVIEW - #endif //DECAL_BASE_NORMAL - - //i.normal = IN.normal; - i.viewDir = viewDir; - i.worldPosition = worldPosition; - - // initialize surface output - o.Albedo = 0.0; - o.Emission = 0.0; - o.Specular = 0.0; - o.Alpha = 0.0; - o.Gloss = 0.0; - o.Normal = fixed3(0,0,1); - - // call surface function - surf(i, o); - - #ifdef DECAL_PREVIEW - if (any(IN.uv_decal > 1) || any(IN.uv_decal < 0)) o.Alpha = 0; - - o.Albedo = lerp(_Background.rgb, o.Albedo, o.Alpha) * _Color.rgb; - o.Normal = lerp(float3(0,0,1), o.Normal, o.Alpha); - o.Gloss = lerp(_Background.a, o.Gloss, o.Alpha); - o.Emission = lerp(0, o.Emission, o.Alpha); - o.Alpha = _Opacity; - #endif //DECAL_PREVIEW - - // compute lighting & shadowing factor - UNITY_LIGHT_ATTENUATION(atten, IN, worldPosition) - - // compute world normal - float3 WorldNormal; - WorldNormal.x = dot(_unity_tbn_0, o.Normal); - WorldNormal.y = dot(_unity_tbn_1, o.Normal); - WorldNormal.z = dot(_unity_tbn_2, o.Normal); - WorldNormal = normalize(WorldNormal); - o.Normal = WorldNormal; - - //call modified KSP lighting function - c += LightingBlinnPhongDecal(o, lightDir, worldViewDir, atten); - - // Forward base emission and ambient/vertex lighting - #ifdef UNITY_PASS_FORWARDBASE - c.rgb += o.Emission; - c.rgb += o.Albedo * IN.vlight; - c.a = o.Alpha; - #endif //UNITY_PASS_FORWARDBASE - - // Forward add multiply by alpha - #ifdef UNITY_PASS_FORWARDADD - c.rgb *= o.Alpha; - #endif - - return c; } -#endif +#endif \ No newline at end of file diff --git a/Assets/Shaders/DecalsLighting.cginc b/Assets/Shaders/DecalsLighting.cginc new file mode 100644 index 0000000..38f766e --- /dev/null +++ b/Assets/Shaders/DecalsLighting.cginc @@ -0,0 +1,33 @@ +#ifndef DECALS_LIGHTING_INCLUDED +#define DECALS_LIGHTING_INCLUDED + +// modifed version of the KSP BlinnPhong because it does some weird things +inline fixed4 LightingBlinnPhongDecal(SurfaceOutput s, fixed3 lightDir, half3 viewDir, fixed atten) +{ + s.Normal = normalize(s.Normal); + half3 h = normalize(lightDir + viewDir); + + fixed diff = max(0, dot(s.Normal, lightDir)); + + float nh = max(0, dot(s.Normal, h)); + float spec = pow(nh, s.Specular*128.0) * s.Gloss; + + fixed4 c = 0; + c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * _SpecColor.rgb * spec) * (atten); + return c; +} + +// KSP underwater fog function +float4 UnderwaterFog(float3 worldPos, float3 color) +{ + float3 toPixel = worldPos - _LocalCameraPos.xyz; + float toPixelLength = length(toPixel); + + float underwaterDetection = _UnderwaterFogFactor * _LocalCameraDir.w; + float albedoLerpValue = underwaterDetection * (_UnderwaterMaxAlbedoFog * saturate(toPixelLength * _UnderwaterAlbedoDistanceScalar)); + float alphaFactor = 1 - underwaterDetection * (_UnderwaterMaxAlphaFog * saturate((toPixelLength - _UnderwaterMinAlphaFogDistance) * _UnderwaterAlphaDistanceScalar)); + + return float4(lerp(color, _UnderwaterFogColor.rgb, albedoLerpValue), alphaFactor); +} + +#endif diff --git a/Assets/Shaders/DecalsSurface.cginc b/Assets/Shaders/DecalsSurface.cginc new file mode 100644 index 0000000..f1b5c06 --- /dev/null +++ b/Assets/Shaders/DecalsSurface.cginc @@ -0,0 +1,183 @@ +#ifndef DECALS_SURFACE_INCLUDED +#define DECALS_SURFACE_INCLUDED + +#include "DecalsCommon.cginc" +#include "DecalsLighting.cginc" + +// declare surf function, +// this must be defined in any shader using this cginc +void surf (DecalSurfaceInput IN, inout SurfaceOutput o); + +v2f vert_forward(appdata_decal v) +{ + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + + o.pos = UnityObjectToClipPos(v.vertex); + o.normal = v.normal; + + #ifdef DECAL_PREVIEW + o.uv_decal = v.texcoord; + #else + o.uv_decal = mul (_ProjectionMatrix, v.vertex); + #endif //DECAL_PREVIEW + + #ifdef DECAL_BASE_NORMAL + o.uv_base = TRANSFORM_TEX(v.texcoord, _BumpMap); + #endif //DECAL_BASE_NORMAL + + float3 worldPosition = mul(unity_ObjectToWorld, v.vertex).xyz; + float3 worldNormal = UnityObjectToWorldNormal(v.normal); + + #if defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) + // use tangent of base geometry + fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); + fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; + fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign; + #else + // use tangent of projector + fixed3 decalTangent = UnityObjectToWorldDir(_DecalTangent); + fixed3 worldBinormal = cross(decalTangent, worldNormal); + fixed3 worldTangent = cross(worldNormal, worldBinormal); + #endif //defined(DECAL_BASE_NORMAL) || defined(DECAL_PREVIEW) + + o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPosition.x); + o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPosition.y); + o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPosition.z); + + // forward base pass specific lighting code + #ifdef UNITY_PASS_FORWARDBASE + // SH/ambient light + #if UNITY_SHOULD_SAMPLE_SH + float3 shlight = ShadeSH9 (float4(worldNormal,1.0)); + o.vlight = shlight; + #else + o.vlight = 0.0; + #endif // UNITY_SHOULD_SAMPLE_SH + + // vertex light + #ifdef VERTEXLIGHT_ON + o.vlight += Shade4PointLights ( + unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0, + unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb, + unity_4LightAtten0, worldPosition, worldNormal ); + #endif // VERTEXLIGHT_ON + #endif // UNITY_PASS_FORWARDBASE + + // pass shadow and, possibly, light cookie coordinates to pixel shader + UNITY_TRANSFER_LIGHTING(o, 0.0); + + return o; +} + +fixed4 frag_forward(v2f IN) : SV_Target +{ + #ifdef DECAL_PREVIEW + fixed4 uv_projected = IN.uv_decal; + #else + // perform decal projection + fixed4 uv_projected = UNITY_PROJ_COORD(IN.uv_decal); + + clip(uv_projected.xyz + CLIP_MARGIN); + clip(CLIP_MARGIN + (1-uv_projected.xyz)); + #endif //DECAL_PREVIEW + + // declare data + DecalSurfaceInput i; + SurfaceOutput o; + + // setup world-space TBN vectors + UNITY_EXTRACT_TBN(IN); + + float3 worldPosition = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w); + float3 worldTangent = float3(IN.tSpace0.x, IN.tSpace1.x, IN.tSpace2.x); + + // setup world-space light and view direction vectors + #ifndef USING_DIRECTIONAL_LIGHT + fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPosition)); + #else + fixed3 lightDir = _WorldSpaceLightPos0.xyz; + #endif + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPosition)); + float3 viewDir = _unity_tbn_0 * worldViewDir.x + _unity_tbn_1 * worldViewDir.y + _unity_tbn_2 * worldViewDir.z; + + // initialize surface input + UNITY_INITIALIZE_OUTPUT(DecalSurfaceInput, i) + i.uv_decal = TRANSFORM_TEX(uv_projected, _Decal); + i.uv = uv_projected; + + #ifdef DECAL_BUMPMAP + i.uv_bumpmap = TRANSFORM_TEX(uv_projected, _BumpMap); + #endif //DECAL_BUMPMAP + + #ifdef DECAL_SPECMAP + i.uv_specmap = TRANSFORM_TEX(uv_projected, _SpecMap); + #endif //DECAL_SPECMAP + + #ifdef DECAL_EMISSIVE + i.uv_emissive = TRANSFORM_TEX(uv_projected, _Emissive); + #endif //DECAL_EMISSIVE + + #ifdef DECAL_BASE_NORMAL + #ifdef DECAL_PREVIEW + i.normal = fixed3(0,0,1); + #else + i.normal = UnpackNormalDXT5nm(tex2D(_BumpMap, IN.uv_base)); + #endif //DECAL_PREVIEW + #endif //DECAL_BASE_NORMAL + + i.vertex_normal = IN.normal; + i.viewDir = viewDir; + i.worldPosition = worldPosition; + + // initialize surface output + o.Albedo = 0.0; + o.Emission = 0.0; + o.Specular = 0.0; + o.Alpha = 0.0; + o.Gloss = 0.0; + o.Normal = fixed3(0,0,1); + + // call surface function + surf(i, o); + + #ifdef DECAL_PREVIEW + if (any(IN.uv_decal > 1) || any(IN.uv_decal < 0)) o.Alpha = 0; + + o.Albedo = lerp(_Background.rgb, o.Albedo, o.Alpha) * _Color.rgb; + o.Normal = lerp(float3(0,0,1), o.Normal, o.Alpha); + o.Gloss = lerp(_Background.a, o.Gloss, o.Alpha); + o.Emission = lerp(0, o.Emission, o.Alpha); + o.Alpha = _Opacity; + #endif //DECAL_PREVIEW + + // compute lighting & shadowing factor + UNITY_LIGHT_ATTENUATION(atten, IN, worldPosition) + + // compute world normal + float3 WorldNormal; + WorldNormal.x = dot(_unity_tbn_0, o.Normal); + WorldNormal.y = dot(_unity_tbn_1, o.Normal); + WorldNormal.z = dot(_unity_tbn_2, o.Normal); + WorldNormal = normalize(WorldNormal); + o.Normal = WorldNormal; + + //call modified KSP lighting function + float4 c = LightingBlinnPhongDecal(o, lightDir, worldViewDir, atten); + + // Forward base emission and ambient/vertex lighting + #ifdef UNITY_PASS_FORWARDBASE + c.rgb += o.Emission; + c.rgb += o.Albedo * IN.vlight; + c.a = o.Alpha; + #endif //UNITY_PASS_FORWARDBASE + + // Forward add multiply by alpha + #ifdef UNITY_PASS_FORWARDADD + c.rgb *= o.Alpha; + #endif + + return c; +} + +#endif \ No newline at end of file diff --git a/Assets/Shaders/HSL.cginc b/Assets/Shaders/HSL.cginc new file mode 100644 index 0000000..6b6f383 --- /dev/null +++ b/Assets/Shaders/HSL.cginc @@ -0,0 +1,17 @@ +#ifndef HSL_INCLUDED +#define HSL_INCLUDED + +inline float3 HSL2RGB(float3 hsl) { + int3 n = int3(0, 8, 4); + float3 k = (n + hsl.x * 12) % 12; + float a = hsl.y * min(hsl.z, 1 - hsl.z); + return hsl.z - a * max(-1, min(k - 3, min(9 - k, 1))); +} + +inline float3 HSV2RGB(float3 hsv) { + int3 n = int3(5, 3, 1); + float3 k = (n + hsv.x * 6) % 6; + return hsv.z - hsv.z * hsv.y * max(0, min(1, min(k, 4 - k))); +} + +#endif \ No newline at end of file diff --git a/Assets/Shaders/SDF.cginc b/Assets/Shaders/SDF.cginc new file mode 100644 index 0000000..158eddb --- /dev/null +++ b/Assets/Shaders/SDF.cginc @@ -0,0 +1,45 @@ +#ifndef SDF_INCLUDED +#define SDF_INCLUDED + +// based on functions by Inigo Quilez +// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm + +// SDF of a box +float sdBox( in float2 p, in float2 b ) { + float2 d = abs(p)-b; + return length(max(d,0.0)) + min(max(d.x,d.y),0.0); +} + +// SDF of a box with corner radius r +float sdRoundedBox( in float2 p, in float2 b, in float r ) { + float2 d = abs(p)-b+r; + return min(max(d.x,d.y),0.0) + length(max(d,0.0)) - r; +} + +// SDF of a box with corner radius r, based on the current UV position +// UV must be ∈ (0,1), with (0,0) on one corner +float sdRoundedUVBox( float2 uv, float r ) { + float dx = ddx(uv.x); + float dy = ddy(uv.y); + + float2 dim = abs(float2(1/dx, 1/dy)); + float2 halfDim = dim / 2; + float2 pos = (dim * uv) - halfDim; + + return sdRoundedBox(pos, halfDim, r); +} + +inline float SDFdDist(float dist) { + return length(float2(ddx(dist), ddy(dist))); +} + +inline float SDFAA(float dist, float ddist) { + float pixelDist = dist / ddist; + return saturate(0.5-pixelDist); +} + +inline float SDFAA(float dist) { + return SDFAA(dist, SDFdDist(dist)); +} + +#endif \ No newline at end of file diff --git a/Assets/Shaders/StandardDecal.cginc b/Assets/Shaders/StandardDecal.cginc new file mode 100644 index 0000000..2b8ac7b --- /dev/null +++ b/Assets/Shaders/StandardDecal.cginc @@ -0,0 +1,38 @@ +void surf(DecalSurfaceInput IN, inout SurfaceOutput o) { + float4 color = tex2D(_Decal, IN.uv_decal); + o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; + o.Alpha = _DecalOpacity; + + #ifdef DECAL_BASE_NORMAL + float3 normal = IN.normal; + float wearFactor = 1 - normal.z; + float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); + o.Alpha *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); + #endif + + #ifdef DECAL_BUMPMAP + o.Normal = tex2D(_BumpMap, IN.uv_bumpmap); + #endif + + #ifdef DECAL_SPECMAP + float4 specular = tex2D(_SpecMap, IN.uv_specmap); + o.Gloss = specular.r; + o.Specular = _Shininess; + #endif + + half rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal)); + o.Emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; + + #ifdef DECAL_EMISSIVE + o.Emission += tex2D(_Emissive, IN.uv_emissive).rgb * _Emissive_Color.rgb * _Emissive_Color.a; + #endif + + float dist = BoundsDist(IN.uv, IN.vertex_normal, _DecalNormal); + #ifdef DECAL_SDF_ALPHA + float decalDist = _Cutoff - color.a; + o.Alpha *= SDFAA(max(decalDist, dist)); + #else + o.Alpha *= SDFAA(dist); + o.Alpha *= color.a; + #endif +} \ No newline at end of file diff --git a/Assets/Shaders/StandardDecal.shader b/Assets/Shaders/StandardDecal.shader new file mode 100644 index 0000000..55267c3 --- /dev/null +++ b/Assets/Shaders/StandardDecal.shader @@ -0,0 +1,111 @@ +Shader "ConformalDecals/Decal/Standard" +{ + Properties + { + [Header(Decal)] + _Decal("Decal Texture", 2D) = "gray" {} + [Toggle(DECAL_SDF_ALPHA)] _Decal_SDF_Alpha ("SDF in Alpha", int) = 0 + + + [Header(Normal)] + [Toggle(DECAL_BASE_NORMAL)] _BaseNormal ("Use Base Normal", int) = 0 + [Toggle(DECAL_BUMPMAP)] _Decal_BumpMap ("Has BumpMap", int) = 0 + _BumpMap("Bump Map", 2D) = "bump" {} + _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 + _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 + + [Header(Specularity)] + [Toggle(DECAL_SPECMAP)] _Decal_SpecMap ("Has SpecMap", int) = 0 + _SpecMap ("Specular Map)", 2D) = "black" {} + _SpecColor ("_SpecColor", Color) = (0.25, 0.25, 0.25, 1) + _Shininess ("Shininess", Range (0.03, 10)) = 0.3 + + [Header(Emissive)] + [Toggle(DECAL_EMISSIVE)] _Decal_Emissive ("Has Emissive", int) = 0 + _Emissive("_Emissive", 2D) = "black" {} + _EmissiveColor("_EmissiveColor", Color) = (0,0,0,1) + + _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 + _DecalOpacity("Opacity", Range(0,1) ) = 1 + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 + [Toggle] _ZWrite ("ZWrite", Float) = 1.0 + + [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 + + [Header(Effects)] + [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + [PerRendererData]_Color("_Color", Color) = (1,1,1,1) + [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 + [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) + [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 + } + SubShader + { + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true" "DisableBatching" = "true"} + Cull [_Cull] + + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardBase" } + ZWrite [_ZWrite] + ZTest LEqual + Blend SrcAlpha OneMinusSrcAlpha + + CGPROGRAM + #pragma vertex vert_forward + #pragma fragment frag_forward + + #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap + #pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE + #pragma multi_compile_local __ DECAL_PREVIEW + #pragma multi_compile_local __ DECAL_BASE_NORMAL DECAL_BUMPMAP + #pragma multi_compile_local __ DECAL_SPECMAP + #pragma multi_compile_local __ DECAL_EMISSIVE + #pragma multi_compile_local __ DECAL_SDF_ALPHA + + #include "UnityCG.cginc" + #include "DecalsCommon.cginc" + #include "DecalsSurface.cginc" + #include "SDF.cginc" + #include "StandardDecal.cginc" + + ENDCG + } + + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardAdd" } + ZWrite Off + ZTest LEqual + Blend One One + Offset -1, -1 + + CGPROGRAM + #pragma vertex vert_forward + #pragma fragment frag_forward + + #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap + #pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE + #pragma multi_compile_local __ DECAL_PREVIEW + #pragma multi_compile_local __ DECAL_BASE_NORMAL DECAL_BUMPMAP + #pragma multi_compile_local __ DECAL_SPECMAP + #pragma multi_compile_local __ DECAL_EMISSIVE + #pragma multi_compile_local __ DECAL_SDF_ALPHA + + #include "UnityCG.cginc" + #include "DecalsCommon.cginc" + #include "DecalsSurface.cginc" + #include "SDF.cginc" + #include "StandardDecal.cginc" + + ENDCG + } + + // shadow casting support + UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" + } +} \ No newline at end of file diff --git a/Assets/Shaders/TextBlit.shader b/Assets/Shaders/TextBlit.shader new file mode 100644 index 0000000..9f8720c --- /dev/null +++ b/Assets/Shaders/TextBlit.shader @@ -0,0 +1,73 @@ +Shader "ConformalDecals/Text Blit" +{ + Properties + { + _MainTex("_MainTex (RGB spec(A))", 2D) = "white" {} + + _WeightNormal("Weight Normal", float) = 0 + _WeightBold("Weight Bold", float) = 0.5 + + _ScaleRatioA("Scale RatioA", float) = 1 + _ScaleRatioB("Scale RatioB", float) = 1 + _ScaleRatioC("Scale RatioC", float) = 1 + } + + SubShader + { + Tags { "Queue" = "Transparent" } + Cull Off + ZWrite Off + + Pass + { + BlendOp Max + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + sampler2D _MainTex; + + // font weights to fake bold + float _WeightNormal; + float _WeightBold; + + // no idea what these do + float _ScaleRatioA; + float _ScaleRatioB; + float _ScaleRatioC; + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "AutoLight.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float4 uv : TEXCOORD0; // u, v, bias, 0 + }; + + v2f vert(float4 vertex : POSITION, float2 uv0 : TEXCOORD0, float2 uv1 : TEXCOORD1) { + float bold = step(uv1.y, 0); + float weight = lerp(_WeightNormal, _WeightBold, bold) * _ScaleRatioA / 8.0; + float bias = 1 - weight; + + v2f o; + o.pos = UnityObjectToClipPos(vertex); + o.uv = float4(uv0.x, uv0.y, bias, weight); + return o; + } + + fixed4 frag (v2f i) : SV_Target { + float2 uv = i.uv.xy; + float bias = i.uv.z; + float weight = i.uv.w; + + fixed4 c = 0; + c.r = saturate(tex2D(_MainTex,(uv)).a + weight); + return c; + } + + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/TextDecal.cginc b/Assets/Shaders/TextDecal.cginc new file mode 100644 index 0000000..f8d6e6d --- /dev/null +++ b/Assets/Shaders/TextDecal.cginc @@ -0,0 +1,49 @@ +float4 _DecalColor; + +float4 _OutlineColor; +float _OutlineWidth; + +void surf(DecalSurfaceInput IN, inout SurfaceOutput o) { + float4 color = _DecalColor; + float dist = _Cutoff - tex2D(_Decal, IN.uv_decal).r; // text distance + + #ifdef DECAL_OUTLINE + // Outline + float outlineOffset = _OutlineWidth * 0.25; + float outlineRadius = _OutlineWidth * 0.5; + + #ifdef DECAL_FILL + // Outline and Fill + float outlineDist = -dist - outlineOffset; + float outlineFactor = SDFAA(outlineDist); + dist -= outlineOffset; + color = lerp(_DecalColor, _OutlineColor, outlineFactor); + #else + // Outline Only + float outlineDist = abs(dist) - outlineOffset; + dist = outlineDist; + color = _OutlineColor; + #endif + #endif + + dist = max(dist, BoundsDist(IN.uv, IN.vertex_normal, _DecalNormal)); + float ddist = SDFdDist(dist); // distance gradient magnitude + o.Alpha = _DecalOpacity * SDFAA(dist, ddist); + o.Albedo = UnderwaterFog(IN.worldPosition, color).rgb; + + #ifdef DECAL_BASE_NORMAL + float3 normal = IN.normal; + float wearFactor = 1 - normal.z; + float wearFactorAlpha = saturate(_EdgeWearStrength * wearFactor); + o.Alpha *= saturate(1 + _EdgeWearOffset - saturate(_EdgeWearStrength * wearFactor)); + #endif + + #ifdef DECAL_SPECMAP + float4 specular = tex2D(_SpecMap, IN.uv_specmap); + o.Gloss = specular.r; + o.Specular = _Shininess; + #endif + + half rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal)); + o.Emission = (_RimColor.rgb * pow(rim, _RimFalloff)) * _RimColor.a; +} \ No newline at end of file diff --git a/Assets/Shaders/TextDecal.shader b/Assets/Shaders/TextDecal.shader new file mode 100644 index 0000000..3ac8933 --- /dev/null +++ b/Assets/Shaders/TextDecal.shader @@ -0,0 +1,112 @@ +Shader "ConformalDecals/Decal/Text" +{ + Properties + { + [Header(Decal)] + [Toggle(DECAL_FILL)] _Fill ("Fill", int) = 0 + _Decal("Decal Texture", 2D) = "gray" {} + _DecalColor("Decal Color", Color) = (1,1,1,1) + + _Weight("Text Weight", Range(0,1)) = 0 + + [Header(Outline)] + [Toggle(DECAL_OUTLINE)] _Outline ("Outline", int) = 0 + _OutlineColor("Outline Color", Color) = (0,0,0,1) + _OutlineWidth("Outline Width", Range(0,1)) = 0.1 + + [Header(Normal)] + [Toggle(DECAL_BASE_NORMAL)] _BaseNormal ("Use Base Normal", int) = 0 + _BumpMap("Bump Map", 2D) = "bump" {} + _EdgeWearStrength("Edge Wear Strength", Range(0,500)) = 100 + _EdgeWearOffset("Edge Wear Offset", Range(0,1)) = 0.1 + + [Header(Specularity)] + [Toggle(DECAL_SPECMAP)] _Decal_SpecMap ("Has SpecMap", int) = 0 + _SpecMap ("Specular Map)", 2D) = "black" {} + _SpecColor ("_SpecColor", Color) = (0.25, 0.25, 0.25, 1) + _Shininess ("Shininess", Range (0.03, 10)) = 0.3 + + _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 + _DecalOpacity("Opacity", Range(0,1) ) = 1 + _Background("Background Color", Color) = (0.9,0.9,0.9,0.7) + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", int) = 2 + [Toggle] _ZWrite ("ZWrite", Float) = 1.0 + + [Toggle(DECAL_PREVIEW)] _Preview ("Preview", int) = 0 + + [Header(Effects)] + [PerRendererData]_Opacity("_Opacity", Range(0,1) ) = 1 + _Color("_Color", Color) = (1,1,1,1) + [PerRendererData]_RimFalloff("_RimFalloff", Range(0.01,5) ) = 0.1 + [PerRendererData]_RimColor("_RimColor", Color) = (0,0,0,0) + [PerRendererData]_UnderwaterFogFactor ("Underwater Fog Factor", Range(0,1)) = 0 + } + SubShader + { + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true" "DisableBatching" = "true"} + Cull [_Cull] + + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardBase" } + ZWrite [_ZWrite] + ZTest LEqual + Blend SrcAlpha OneMinusSrcAlpha + + CGPROGRAM + #pragma vertex vert_forward + #pragma fragment frag_forward + + #pragma multi_compile_fwdbase nolightmap nodirlightmap nodynlightmap + #pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE + #pragma multi_compile_local __ DECAL_PREVIEW + #pragma multi_compile_local __ DECAL_BASE_NORMAL + #pragma multi_compile_local __ DECAL_SPECMAP + #pragma multi_compile_local __ DECAL_OUTLINE + #pragma multi_compile_local __ DECAL_FILL + + #include "UnityCG.cginc" + #include "DecalsCommon.cginc" + #include "DecalsSurface.cginc" + #include "SDF.cginc" + #include "TextDecal.cginc" + + ENDCG + } + + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardAdd" } + ZWrite Off + ZTest LEqual + Blend One One + Offset -1, -1 + + CGPROGRAM + #pragma vertex vert_forward + #pragma fragment frag_forward + + #pragma multi_compile_fwdadd nolightmap nodirlightmap nodynlightmap + #pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE + #pragma multi_compile_local __ DECAL_PREVIEW + #pragma multi_compile_local __ DECAL_BASE_NORMAL + #pragma multi_compile_local __ DECAL_SPECMAP + #pragma multi_compile_local __ DECAL_OUTLINE + #pragma multi_compile_local __ DECAL_FILL + + #include "UnityCG.cginc" + #include "DecalsCommon.cginc" + #include "DecalsSurface.cginc" + #include "SDF.cginc" + #include "TextDecal.cginc" + + ENDCG + } + + // shadow casting support + UsePass "Legacy Shaders/VertexLit/SHADOWCASTER" + } +} \ No newline at end of file diff --git a/Assets/Textures/Munar-Atlas.png b/Assets/Textures/Munar-Atlas.png new file mode 100644 index 0000000..2462c99 Binary files /dev/null and b/Assets/Textures/Munar-Atlas.png differ diff --git a/Assets/Textures/UI.png b/Assets/Textures/UI.png new file mode 100644 index 0000000..1f2e34d Binary files /dev/null and b/Assets/Textures/UI.png differ diff --git a/Assets/UI/BSlider.mat b/Assets/UI/BSlider.mat new file mode 100644 index 0000000..92390d1 --- /dev/null +++ b/Assets/UI/BSlider.mat @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BSlider + m_Shader: {fileID: 4800000, guid: a6b2542ba8ea844e7b0526fab69d88ed, type: 3} + m_ShaderKeywords: BLUE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Blue: 1 + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _GradientStep: 0.331 + - _Green: 0 + - _Hue: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineGradient: 0.7 + - _OutlineOpacity: 0.15 + - _OutlineWidth: 2.5 + - _Parallax: 0.02 + - _Radius: 4 + - _Red: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/UI/ColorPickerPanel.prefab b/Assets/UI/ColorPickerPanel.prefab new file mode 100644 index 0000000..bee2074 --- /dev/null +++ b/Assets/UI/ColorPickerPanel.prefab @@ -0,0 +1,5492 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &170662711293987443 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1433640509112686724} + - component: {fileID: 170662711293987444} + - component: {fileID: 7880243890744815016} + - component: {fileID: 941972267497223076} + m_Layer: 0 + m_Name: SVpicker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1433640509112686724 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170662711293987443} + 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_Children: + - {fileID: 5197239995184688306} + - {fileID: 1102500228864913517} + m_Father: {fileID: 6450911886077540277} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -14, y: 0} + m_SizeDelta: {x: -36, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &170662711293987444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170662711293987443} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4997ebd64345bc81d7478db93610a9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500228864913518} + _handleRect: {fileID: 1102500228864913517} + _value: {x: 0, y: 0} + _onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 7880243890744815016} + m_MethodName: OnSliderUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ConformalDecals.UI.BoxSlider+BoxSliderEvent, ConformalDecals, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &7880243890744815016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170662711293987443} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9a6d7f28c8cf48c5b0f50cce3c3471d, type: 3} + m_Name: + m_EditorClassIdentifier: + _value: {x: 0, y: 0} + _slider: {fileID: 170662711293987444} + _image: {fileID: 1670219945733215598} +--- !u!114 &941972267497223076 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170662711293987443} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 10 +--- !u!1 &1102500227130160448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227130160449} + - component: {fileID: 4847305968835957251} + - component: {fileID: 1304730198164346037} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227130160449 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227130160448} + 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_Children: + - {fileID: 1102500228592354974} + m_Father: {fileID: 1102500228457808546} + m_RootOrder: 0 + 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: -8, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4847305968835957251 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227130160448} + m_CullTransparentMesh: 0 +--- !u!114 &1304730198164346037 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227130160448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: d041a7ea6f10040509c571a1a522a16b, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!1 &1102500227272578811 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227272578812} + - component: {fileID: 1102500227272578814} + - component: {fileID: 1102500227272578813} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227272578812 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227272578811} + 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_Children: [] + m_Father: {fileID: 1102500228769350603} + m_RootOrder: 1 + 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!222 &1102500227272578814 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227272578811} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227272578813 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227272578811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "FFFFFF\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 5 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500227272578813} + characterCount: 7 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500227401206583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227401206584} + - component: {fileID: 1102500227401206588} + - component: {fileID: 1102500227401206587} + - component: {fileID: 1102500227401206586} + - component: {fileID: 1102500227401206585} + m_Layer: 0 + m_Name: TextMeshPro - InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227401206584 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227401206583} + 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_Children: + - {fileID: 1102500228769350603} + - {fileID: 1102500229176114424} + m_Father: {fileID: 1102500227799383127} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 41, y: 0} + m_SizeDelta: {x: 75, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500227401206588 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227401206583} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227401206587 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227401206583} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &1102500227401206586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227401206583} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500227401206587} + m_TextViewport: {fileID: 1102500228769350603} + m_TextComponent: {fileID: 1102500227272578813} + m_Placeholder: {fileID: 1102500229130939276} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 4 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 1 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 4 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 6 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2127733108409970602} + m_MethodName: OnHexColorUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: FFFFFF + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &1102500227401206585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227401206583} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &1102500227428631010 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227428631011} + - component: {fileID: 4885326101323328167} + m_Layer: 0 + m_Name: Blue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227428631011 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227428631010} + 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_Children: + - {fileID: 1102500228518806388} + - {fileID: 1102500229153529073} + - {fileID: 1102500227802508654} + m_Father: {fileID: 1102500227528487759} + m_RootOrder: 2 + 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: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4885326101323328167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227428631010} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32f2020e7e41e441cb08d73a98d21fda, type: 3} + m_Name: + m_EditorClassIdentifier: + _value: 0 + _channel: 2 + _hsv: 0 + _textBox: {fileID: 1102500227802508560} + _slider: {fileID: 1102500228518806389} + _image: {fileID: 6696529076962308442} +--- !u!1 &1102500227500736560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227500736561} + - component: {fileID: 1102500227500736562} + - component: {fileID: 1102500227500736563} + m_Layer: 0 + m_Name: RSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227500736561 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227500736560} + 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_Children: + - {fileID: 1102500229029945128} + m_Father: {fileID: 1102500228167217150} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 33, y: 0} + m_SizeDelta: {x: -74, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500227500736562 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227500736560} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500227806351780} + m_FillRect: {fileID: 0} + m_HandleRect: {fileID: 1102500227806351779} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 6150168319998333966} + m_MethodName: OnSliderUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1102500227500736563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227500736560} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 6 +--- !u!1 &1102500227528487758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227528487759} + - component: {fileID: 1102500227528487793} + - component: {fileID: 1102500227528487792} + m_Layer: 0 + m_Name: RGB + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227528487759 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227528487758} + 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_Children: + - {fileID: 1102500228167217150} + - {fileID: 1102500227533609007} + - {fileID: 1102500227428631011} + - {fileID: 1102500227799383127} + m_Father: {fileID: 6367035111566090001} + m_RootOrder: 2 + 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: 1} +--- !u!114 &1102500227528487793 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227528487758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 4 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &1102500227528487792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227528487758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!1 &1102500227533609006 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227533609007} + - component: {fileID: 8593005346929438053} + m_Layer: 0 + m_Name: Green + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227533609007 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227533609006} + 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_Children: + - {fileID: 1102500227791644167} + - {fileID: 1102500227854283987} + - {fileID: 1102500227673565180} + m_Father: {fileID: 1102500227528487759} + m_RootOrder: 1 + 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: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8593005346929438053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227533609006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32f2020e7e41e441cb08d73a98d21fda, type: 3} + m_Name: + m_EditorClassIdentifier: + _value: 0 + _channel: 1 + _hsv: 0 + _textBox: {fileID: 1102500227673565182} + _slider: {fileID: 1102500227791644168} + _image: {fileID: 8868464681833934854} +--- !u!1 &1102500227589379527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227589379528} + - component: {fileID: 1102500227589379530} + - component: {fileID: 1102500227589379529} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227589379528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227589379527} + 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_Children: [] + m_Father: {fileID: 1102500227766708789} + m_RootOrder: 0 + 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!222 &1102500227589379530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227589379527} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227589379529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227589379527} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 128 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500227589379529} + characterCount: 3 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500227673565179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227673565180} + - component: {fileID: 1102500227673565152} + - component: {fileID: 1102500227673565183} + - component: {fileID: 1102500227673565182} + - component: {fileID: 1102500227673565181} + m_Layer: 0 + m_Name: TextMeshPro - InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227673565180 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227673565179} + 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_Children: + - {fileID: 1102500227766708789} + m_Father: {fileID: 1102500227533609007} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 40, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500227673565152 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227673565179} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227673565183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227673565179} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &1102500227673565182 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227673565179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500227673565183} + m_TextViewport: {fileID: 1102500227766708789} + m_TextComponent: {fileID: 1102500227709118737} + m_Placeholder: {fileID: 1102500227589379529} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 2 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 4 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 2 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8593005346929438053} + m_MethodName: OnTextBoxUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 255 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &1102500227673565181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227673565179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &1102500227679022645 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227679022646} + - component: {fileID: 1102500227679022649} + - component: {fileID: 1102500227679022648} + - component: {fileID: 1102500227679022647} + m_Layer: 0 + m_Name: TextMeshPro Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227679022646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227679022645} + 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_Children: [] + m_Father: {fileID: 1102500228167217150} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 2, y: 0} + m_SizeDelta: {x: 16, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500227679022649 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227679022645} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227679022648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227679022645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 'R:' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: -0.4220581, w: 0} + m_textInfo: + textComponent: {fileID: 1102500227679022648} + characterCount: 2 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1102500227679022647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227679022645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 8 +--- !u!1 &1102500227700081972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227700081973} + - component: {fileID: 1102500227700081975} + - component: {fileID: 1102500227700081974} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227700081973 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227700081972} + 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_Children: [] + m_Father: {fileID: 1102500228960856548} + m_RootOrder: 0 + 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: 12, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500227700081975 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227700081972} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227700081974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227700081972} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &1102500227709118831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227709118736} + - component: {fileID: 1102500227709118738} + - component: {fileID: 1102500227709118737} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227709118736 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227709118831} + 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_Children: [] + m_Father: {fileID: 1102500227766708789} + m_RootOrder: 1 + 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!222 &1102500227709118738 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227709118831} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227709118737 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227709118831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "255\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500227709118737} + characterCount: 4 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500227728781587 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227728781588} + - component: {fileID: 1102500227728781590} + - component: {fileID: 1102500227728781589} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227728781588 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227728781587} + 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_Children: [] + m_Father: {fileID: 1102500228499595049} + m_RootOrder: 0 + 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!222 &1102500227728781590 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227728781587} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227728781589 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227728781587} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 128 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500227728781589} + characterCount: 3 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500227766708788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227766708789} + - component: {fileID: 1102500227766708790} + m_Layer: 0 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227766708789 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227766708788} + 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_Children: + - {fileID: 1102500227589379528} + - {fileID: 1102500227709118736} + m_Father: {fileID: 1102500227673565180} + m_RootOrder: 0 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500227766708790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227766708788} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1102500227791644166 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227791644167} + - component: {fileID: 1102500227791644168} + - component: {fileID: 1102500227791644169} + m_Layer: 0 + m_Name: GSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227791644167 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227791644166} + 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_Children: + - {fileID: 1102500228960856548} + m_Father: {fileID: 1102500227533609007} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 33, y: 0} + m_SizeDelta: {x: -74, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500227791644168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227791644166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500227700081974} + m_FillRect: {fileID: 0} + m_HandleRect: {fileID: 1102500227700081973} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8593005346929438053} + m_MethodName: OnSliderUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1102500227791644169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227791644166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 6 +--- !u!1 &1102500227799383126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227799383127} + m_Layer: 0 + m_Name: Hex + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227799383127 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227799383126} + 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_Children: + - {fileID: 1102500228890550901} + - {fileID: 1102500227401206584} + - {fileID: 1102500229012921283} + m_Father: {fileID: 1102500227528487759} + m_RootOrder: 3 + 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: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1102500227802508653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227802508654} + - component: {fileID: 1102500227802508562} + - component: {fileID: 1102500227802508561} + - component: {fileID: 1102500227802508560} + - component: {fileID: 1102500227802508655} + m_Layer: 0 + m_Name: TextMeshPro - InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227802508654 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227802508653} + 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_Children: + - {fileID: 1102500228399234537} + m_Father: {fileID: 1102500227428631011} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 40, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500227802508562 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227802508653} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227802508561 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227802508653} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &1102500227802508560 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227802508653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500227802508561} + m_TextViewport: {fileID: 1102500228399234537} + m_TextComponent: {fileID: 1102500228332510251} + m_Placeholder: {fileID: 1102500228898417449} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 2 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 4 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 2 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4885326101323328167} + m_MethodName: OnTextBoxUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 255 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &1102500227802508655 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227802508653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &1102500227806351778 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227806351779} + - component: {fileID: 1102500227806351781} + - component: {fileID: 1102500227806351780} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227806351779 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227806351778} + 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_Children: [] + m_Father: {fileID: 1102500229029945128} + m_RootOrder: 0 + 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: 12, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500227806351781 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227806351778} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227806351780 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227806351778} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &1102500227854283986 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227854283987} + - component: {fileID: 1102500227854283990} + - component: {fileID: 1102500227854283989} + - component: {fileID: 1102500227854283988} + m_Layer: 0 + m_Name: TextMeshPro Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227854283987 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227854283986} + 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_Children: [] + m_Father: {fileID: 1102500227533609007} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 2, y: 0} + m_SizeDelta: {x: 16, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500227854283990 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227854283986} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227854283989 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227854283986} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 'G:' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: -0.4220581, w: 0} + m_textInfo: + textComponent: {fileID: 1102500227854283989} + characterCount: 2 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1102500227854283988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227854283986} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 8 +--- !u!1 &1102500227969521658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500227969521659} + - component: {fileID: 1102500227969521661} + - component: {fileID: 1102500227969521660} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500227969521659 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227969521658} + 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_Children: [] + m_Father: {fileID: 1102500228042339894} + m_RootOrder: 0 + 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: 12, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500227969521661 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227969521658} + m_CullTransparentMesh: 0 +--- !u!114 &1102500227969521660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500227969521658} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &1102500228042339893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228042339894} + - component: {fileID: 890595536470929407} + - component: {fileID: 6696529076962308442} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228042339894 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228042339893} + 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_Children: + - {fileID: 1102500227969521659} + m_Father: {fileID: 1102500228518806388} + m_RootOrder: 0 + 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: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &890595536470929407 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228042339893} + m_CullTransparentMesh: 0 +--- !u!114 &6696529076962308442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228042339893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: e77b464119ec34d8094b62f59f1549af, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!1 &1102500228167217149 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228167217150} + - component: {fileID: 6150168319998333966} + m_Layer: 0 + m_Name: Red + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228167217150 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228167217149} + 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_Children: + - {fileID: 1102500227500736561} + - {fileID: 1102500227679022646} + - {fileID: 1102500228259436526} + m_Father: {fileID: 1102500227528487759} + m_RootOrder: 0 + 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: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6150168319998333966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228167217149} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32f2020e7e41e441cb08d73a98d21fda, type: 3} + m_Name: + m_EditorClassIdentifier: + _value: 0 + _channel: 0 + _hsv: 0 + _textBox: {fileID: 1102500228259436432} + _slider: {fileID: 1102500227500736562} + _image: {fileID: 8460595475559546939} +--- !u!1 &1102500228259436525 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228259436526} + - component: {fileID: 1102500228259436434} + - component: {fileID: 1102500228259436433} + - component: {fileID: 1102500228259436432} + - component: {fileID: 1102500228259436527} + m_Layer: 0 + m_Name: TextMeshPro - InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228259436526 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228259436525} + 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_Children: + - {fileID: 1102500228499595049} + m_Father: {fileID: 1102500228167217150} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 40, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500228259436434 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228259436525} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228259436433 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228259436525} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &1102500228259436432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228259436525} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500228259436433} + m_TextViewport: {fileID: 1102500228499595049} + m_TextComponent: {fileID: 1102500228340843545} + m_Placeholder: {fileID: 1102500227728781589} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 2 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 4 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 2 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 6150168319998333966} + m_MethodName: OnTextBoxUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 255 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &1102500228259436527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228259436525} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &1102500228332510249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228332510250} + - component: {fileID: 1102500228332510252} + - component: {fileID: 1102500228332510251} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228332510250 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228332510249} + 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_Children: [] + m_Father: {fileID: 1102500228399234537} + m_RootOrder: 1 + 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!222 &1102500228332510252 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228332510249} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228332510251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228332510249} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "255\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500228332510251} + characterCount: 4 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500228340843543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228340843544} + - component: {fileID: 1102500228340843546} + - component: {fileID: 1102500228340843545} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228340843544 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228340843543} + 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_Children: [] + m_Father: {fileID: 1102500228499595049} + m_RootOrder: 1 + 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!222 &1102500228340843546 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228340843543} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228340843545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228340843543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "255\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500228340843545} + characterCount: 4 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500228399234536 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228399234537} + - component: {fileID: 1102500228399234538} + m_Layer: 0 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228399234537 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228399234536} + 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_Children: + - {fileID: 1102500228898417448} + - {fileID: 1102500228332510250} + m_Father: {fileID: 1102500227802508654} + m_RootOrder: 0 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500228399234538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228399234536} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1102500228457808545 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228457808546} + - component: {fileID: 1102500228457808547} + - component: {fileID: 1102500228457808548} + - component: {fileID: 481203100091675226} + m_Layer: 0 + m_Name: HSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228457808546 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228457808545} + 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_Children: + - {fileID: 1102500227130160449} + m_Father: {fileID: 6450911886077540277} + m_RootOrder: 1 + 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: 24, y: -16} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &1102500228457808547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228457808545} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500228592354975} + m_FillRect: {fileID: 0} + m_HandleRect: {fileID: 1102500228592354974} + m_Direction: 2 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 481203100091675226} + m_MethodName: OnSliderUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1102500228457808548 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228457808545} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 6 +--- !u!114 &481203100091675226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228457808545} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32f2020e7e41e441cb08d73a98d21fda, type: 3} + m_Name: + m_EditorClassIdentifier: + _value: 0 + _channel: 0 + _hsv: 1 + _textBox: {fileID: 0} + _slider: {fileID: 1102500228457808547} + _image: {fileID: 1304730198164346037} +--- !u!1 &1102500228499595048 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228499595049} + - component: {fileID: 1102500228499595050} + m_Layer: 0 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228499595049 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228499595048} + 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_Children: + - {fileID: 1102500227728781588} + - {fileID: 1102500228340843544} + m_Father: {fileID: 1102500228259436526} + m_RootOrder: 0 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500228499595050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228499595048} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1102500228518806387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228518806388} + - component: {fileID: 1102500228518806389} + - component: {fileID: 1102500228518806390} + m_Layer: 0 + m_Name: BSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228518806388 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228518806387} + 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_Children: + - {fileID: 1102500228042339894} + m_Father: {fileID: 1102500227428631011} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 33, y: 0} + m_SizeDelta: {x: -74, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500228518806389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228518806387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1102500227969521660} + m_FillRect: {fileID: 0} + m_HandleRect: {fileID: 1102500227969521659} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4885326101323328167} + m_MethodName: OnSliderUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1102500228518806390 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228518806387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 6 +--- !u!1 &1102500228592354973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228592354974} + - component: {fileID: 1102500228592354944} + - component: {fileID: 1102500228592354975} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228592354974 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228592354973} + 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_Children: [] + m_Father: {fileID: 1102500227130160449} + m_RootOrder: 0 + 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: 8, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500228592354944 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228592354973} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228592354975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228592354973} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &1102500228769350602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228769350603} + - component: {fileID: 1102500228769350604} + m_Layer: 0 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228769350603 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228769350602} + 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_Children: + - {fileID: 1102500229130939275} + - {fileID: 1102500227272578812} + m_Father: {fileID: 1102500227401206584} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 4.9975, y: 0} + m_SizeDelta: {x: -18.005, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1102500228769350604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228769350602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1102500228864913516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228864913517} + - component: {fileID: 1102500228864913519} + - component: {fileID: 1102500228864913518} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228864913517 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228864913516} + 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_Children: [] + m_Father: {fileID: 1433640509112686724} + m_RootOrder: 1 + 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: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500228864913519 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228864913516} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228864913518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228864913516} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &1102500228890550900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228890550901} + - component: {fileID: 1102500228890550904} + - component: {fileID: 1102500228890550903} + - component: {fileID: 1102500228890550902} + m_Layer: 0 + m_Name: TextMeshPro Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228890550901 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228890550900} + 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_Children: [] + m_Father: {fileID: 1102500227799383127} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 2, y: 0} + m_SizeDelta: {x: 36, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500228890550904 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228890550900} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228890550903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228890550900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 'Hex:' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: -0.4220581, w: 0} + m_textInfo: + textComponent: {fileID: 1102500228890550903} + characterCount: 4 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1102500228890550902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228890550900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 8 +--- !u!1 &1102500228898417447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228898417448} + - component: {fileID: 1102500228898417450} + - component: {fileID: 1102500228898417449} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228898417448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228898417447} + 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_Children: [] + m_Father: {fileID: 1102500228399234537} + m_RootOrder: 0 + 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!222 &1102500228898417450 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228898417447} + m_CullTransparentMesh: 0 +--- !u!114 &1102500228898417449 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228898417447} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 128 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500228898417449} + characterCount: 3 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500228960856547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500228960856548} + - component: {fileID: 3403960888508789249} + - component: {fileID: 8868464681833934854} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500228960856548 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228960856547} + 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_Children: + - {fileID: 1102500227700081973} + m_Father: {fileID: 1102500227791644167} + m_RootOrder: 0 + 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: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3403960888508789249 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228960856547} + m_CullTransparentMesh: 0 +--- !u!114 &8868464681833934854 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500228960856547} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 134450dbb0bea4774bee1b68dc2ea758, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!1 &1102500229012921282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500229012921283} + - component: {fileID: 1102500229012921285} + - component: {fileID: 1102500229012921284} + m_Layer: 0 + m_Name: Preview + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500229012921283 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229012921282} + 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_Children: [] + m_Father: {fileID: 1102500227799383127} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 58, y: 0} + m_SizeDelta: {x: -124, y: -2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500229012921285 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229012921282} + m_CullTransparentMesh: 0 +--- !u!114 &1102500229012921284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229012921282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 7300000be7b1e46e4a8d9bb53f25a51b, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!1 &1102500229029945127 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500229029945128} + - component: {fileID: 8660443454688195155} + - component: {fileID: 8460595475559546939} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500229029945128 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229029945127} + 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_Children: + - {fileID: 1102500227806351779} + m_Father: {fileID: 1102500227500736561} + m_RootOrder: 0 + 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: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8660443454688195155 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229029945127} + m_CullTransparentMesh: 0 +--- !u!114 &8460595475559546939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229029945127} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: c9824a210db8b42c99428805423811cf, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!1 &1102500229130939274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500229130939275} + - component: {fileID: 1102500229130939277} + - component: {fileID: 1102500229130939276} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500229130939275 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229130939274} + 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_Children: [] + m_Father: {fileID: 1102500228769350603} + m_RootOrder: 0 + 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!222 &1102500229130939277 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229130939274} + m_CullTransparentMesh: 0 +--- !u!114 &1102500229130939276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229130939274} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 128 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500229130939276} + characterCount: 3 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1102500229153529072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500229153529073} + - component: {fileID: 1102500229153529076} + - component: {fileID: 1102500229153529075} + - component: {fileID: 1102500229153529074} + m_Layer: 0 + m_Name: TextMeshPro Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500229153529073 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229153529072} + 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_Children: [] + m_Father: {fileID: 1102500227428631011} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 2, y: 0} + m_SizeDelta: {x: 16, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1102500229153529076 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229153529072} + m_CullTransparentMesh: 0 +--- !u!114 &1102500229153529075 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229153529072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 'B:' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: -0.4220581, w: 0} + m_textInfo: + textComponent: {fileID: 1102500229153529075} + characterCount: 2 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1102500229153529074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229153529072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 8 +--- !u!1 &1102500229176114423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102500229176114424} + - component: {fileID: 1102500229176114426} + - component: {fileID: 1102500229176114425} + m_Layer: 0 + m_Name: Hash + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1102500229176114424 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229176114423} + 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_Children: [] + m_Father: {fileID: 1102500227401206584} + m_RootOrder: 1 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1102500229176114426 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229176114423} + m_CullTransparentMesh: 0 +--- !u!114 &1102500229176114425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102500229176114423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: '#' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1102500229176114425} + characterCount: 1 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4051115624775287474 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5197239995184688306} + - component: {fileID: 4730837641809671653} + - component: {fileID: 1670219945733215598} + m_Layer: 0 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5197239995184688306 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051115624775287474} + 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_Children: [] + m_Father: {fileID: 1433640509112686724} + m_RootOrder: 0 + 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!222 &4730837641809671653 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051115624775287474} + m_CullTransparentMesh: 0 +--- !u!114 &1670219945733215598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051115624775287474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: a7435be93a5cf4d97b39257e2959a7d9, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!1 &6367035111566090002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6367035111566090001} + - component: {fileID: 6367035111566090007} + - component: {fileID: 6367035111566090000} + - component: {fileID: 1043546139595956740} + - component: {fileID: 6367035111566090006} + - component: {fileID: 6367035111566090003} + - component: {fileID: 2127733108409970602} + m_Layer: 5 + m_Name: ColorPickerPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6367035111566090001 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + 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_Children: + - {fileID: 6450911885836589089} + - {fileID: 6450911886077540277} + - {fileID: 1102500227528487759} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 285.09265, y: -55.833984} + m_SizeDelta: {x: 200, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6367035111566090007 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + m_CullTransparentMesh: 0 +--- !u!114 &6367035111566090000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &1043546139595956740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 1 +--- !u!114 &6367035111566090006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &6367035111566090003 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 0 + m_Spacing: 4 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &2127733108409970602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035111566090002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca2e56a73e04c4a14909d98eae24946e, type: 3} + m_Name: + m_EditorClassIdentifier: + _value: {r: 0, g: 0, b: 0, a: 1} + _previewImage: {fileID: 1102500229012921284} + _hexTextBox: {fileID: 1102500227401206586} +--- !u!1 &6367035112303721706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6367035112303721705} + - component: {fileID: 6367035112303721710} + - component: {fileID: 6367035112303721711} + - component: {fileID: 6367035112303721704} + - component: {fileID: 3316291878728594487} + m_Layer: 5 + m_Name: Exit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6367035112303721705 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112303721706} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6367035112708915856} + m_Father: {fileID: 6450911885836589089} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0, y: 1} +--- !u!222 &6367035112303721710 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112303721706} + m_CullTransparentMesh: 0 +--- !u!114 &6367035112303721711 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112303721706} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &6367035112303721704 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112303721706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 4 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 6367035112303721711} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2127733108409970602} + m_MethodName: Close + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &3316291878728594487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112303721706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 3 +--- !u!1 &6367035112515879686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6367035112515879685} + - component: {fileID: 6367035112515879739} + - component: {fileID: 6367035112515879684} + - component: {fileID: 5821802230781399397} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6367035112515879685 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112515879686} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6450911885836589089} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -16} + m_SizeDelta: {x: -70.58, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6367035112515879739 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112515879686} + m_CullTransparentMesh: 0 +--- !u!114 &6367035112515879684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112515879686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Set Color + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: -13.321655} + m_textInfo: + textComponent: {fileID: 6367035112515879684} + characterCount: 9 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &5821802230781399397 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112515879686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 9 +--- !u!1 &6367035112708915857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6367035112708915856} + - component: {fileID: 6367035112708915862} + - component: {fileID: 6367035112708915863} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6367035112708915856 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112708915857} + 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_Children: [] + m_Father: {fileID: 6367035112303721705} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6367035112708915862 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112708915857} + m_CullTransparentMesh: 0 +--- !u!114 &6367035112708915863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367035112708915857} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -358807857636572042, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &6450911885836589088 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6450911885836589089} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6450911885836589089 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6450911885836589088} + 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_Children: + - {fileID: 6367035112515879685} + - {fileID: 6367035112303721705} + m_Father: {fileID: 6367035111566090001} + m_RootOrder: 0 + 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: 24} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &6450911886077540276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6450911886077540277} + m_Layer: 0 + m_Name: HSL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6450911886077540277 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6450911886077540276} + 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_Children: + - {fileID: 1433640509112686724} + - {fileID: 1102500228457808546} + m_Father: {fileID: 6367035111566090001} + m_RootOrder: 1 + 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: 120} + m_Pivot: {x: 0.5, y: 1} diff --git a/Assets/UI/FontMenuPanel.prefab b/Assets/UI/FontMenuPanel.prefab new file mode 100644 index 0000000..e399eff --- /dev/null +++ b/Assets/UI/FontMenuPanel.prefab @@ -0,0 +1,1048 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2220930329282541741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2380708309356493269} + - component: {fileID: 720414929266995085} + - component: {fileID: 4860235672157864509} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2380708309356493269 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2220930329282541741} + 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_Children: [] + m_Father: {fileID: 110881161747597312} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &720414929266995085 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2220930329282541741} + m_CullTransparentMesh: 0 +--- !u!114 &4860235672157864509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2220930329282541741} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -358807857636572042, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &4267497163922788346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 110881161747597312} + - component: {fileID: 3523049671194877947} + - component: {fileID: 6884076759512832815} + - component: {fileID: 8261651719107989151} + - component: {fileID: 8198916044220160518} + m_Layer: 5 + m_Name: Exit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &110881161747597312 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4267497163922788346} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2380708309356493269} + m_Father: {fileID: 6074357789767994671} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0, y: 1} +--- !u!222 &3523049671194877947 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4267497163922788346} + m_CullTransparentMesh: 0 +--- !u!114 &6884076759512832815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4267497163922788346} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &8261651719107989151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4267497163922788346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: -1 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 6884076759512832815} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8967514022049253907} + m_MethodName: Close + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &8198916044220160518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4267497163922788346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 3 +--- !u!1 &6074357787847677158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6074357787847677159} + - component: {fileID: 6074357787847677153} + - component: {fileID: 6074357787847677152} + m_Layer: 5 + m_Name: TextMeshPro Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6074357787847677159 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357787847677158} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6074357788930471967} + m_RootOrder: 1 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6074357787847677153 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357787847677158} + m_CullTransparentMesh: 0 +--- !u!114 &6074357787847677152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357787847677158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Font Name Here + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 18 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 8 + m_fontSizeMax: 18 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 3 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 6074357787847677152} + characterCount: 14 + spriteCount: 0 + spaceCount: 2 + wordCount: 3 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6074357788930471966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6074357788930471967} + - component: {fileID: 6074357788930471963} + - component: {fileID: 6074357788930471962} + - component: {fileID: 6074357788930471961} + - component: {fileID: 6074357788930471960} + m_Layer: 5 + m_Name: Font Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &6074357788930471967 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788930471966} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6074357788987415586} + - {fileID: 6074357787847677159} + m_Father: {fileID: 6074357789468271291} + m_RootOrder: 0 + 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: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &6074357788930471963 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788930471966} + m_CullTransparentMesh: 0 +--- !u!114 &6074357788930471962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788930471966} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &6074357788930471961 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788930471966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 6074357788930471962} + toggleTransition: 0 + graphic: {fileID: 6074357788987415587} + m_Group: {fileID: 6074357789468271284} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &6074357788930471960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788930471966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 4 +--- !u!1 &6074357788987415585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6074357788987415586} + - component: {fileID: 6074357788987415612} + - component: {fileID: 6074357788987415587} + m_Layer: 5 + m_Name: background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6074357788987415586 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788987415585} + 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_Children: [] + m_Father: {fileID: 6074357788930471967} + m_RootOrder: 0 + 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!222 &6074357788987415612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788987415585} + m_CullTransparentMesh: 0 +--- !u!114 &6074357788987415587 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357788987415585} + 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: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &6074357789468271290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6074357789468271291} + - component: {fileID: 6074357789468271286} + - component: {fileID: 6074357789468271285} + - component: {fileID: 6074357789468271284} + m_Layer: 0 + m_Name: List + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6074357789468271291 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357789468271290} + 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_Children: + - {fileID: 6074357788930471967} + m_Father: {fileID: 6167128440300046879} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 150, y: 0} + m_SizeDelta: {x: 284, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &6074357789468271286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357789468271290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 8 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 4 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &6074357789468271285 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357789468271290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &6074357789468271284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357789468271290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AllowSwitchOff: 0 +--- !u!1 &6074357789767994670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6074357789767994671} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6074357789767994671 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6074357789767994670} + 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_Children: + - {fileID: 6167128439639758347} + - {fileID: 110881161747597312} + m_Father: {fileID: 6167128440300046879} + m_RootOrder: 0 + 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: 24} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &6167128439639758344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6167128439639758347} + - component: {fileID: 6167128439639758389} + - component: {fileID: 6167128439639758346} + - component: {fileID: 6701770073936249963} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6167128439639758347 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128439639758344} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6074357789767994671} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -16} + m_SizeDelta: {x: -216, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6167128439639758389 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128439639758344} + m_CullTransparentMesh: 0 +--- !u!114 &6167128439639758346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128439639758344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Select Font + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: -13.321655} + m_textInfo: + textComponent: {fileID: 6167128439639758346} + characterCount: 11 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &6701770073936249963 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128439639758344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 9 +--- !u!1 &6167128440300046876 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6167128440300046879} + - component: {fileID: 6167128440300046873} + - component: {fileID: 6167128440300046878} + - component: {fileID: 266030927892051722} + - component: {fileID: 6167128440300046872} + - component: {fileID: 6167128440300046877} + - component: {fileID: 8967514022049253907} + m_Layer: 5 + m_Name: FontMenuPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6167128440300046879 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + 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_Children: + - {fileID: 6074357789767994671} + - {fileID: 6074357789468271291} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 346.5, y: 110} + m_SizeDelta: {x: 250, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6167128440300046873 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + m_CullTransparentMesh: 0 +--- !u!114 &6167128440300046878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &266030927892051722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 1 +--- !u!114 &6167128440300046872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &6167128440300046877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &8967514022049253907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167128440300046876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e406852764d14ba6b3644934ebfa770, type: 3} + m_Name: + m_EditorClassIdentifier: + _menuItem: {fileID: 6074357788930471966} + _menuList: {fileID: 6074357789468271290} diff --git a/Assets/UI/GSlider.mat b/Assets/UI/GSlider.mat new file mode 100644 index 0000000..0b51809 --- /dev/null +++ b/Assets/UI/GSlider.mat @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: GSlider + m_Shader: {fileID: 4800000, guid: a6b2542ba8ea844e7b0526fab69d88ed, type: 3} + m_ShaderKeywords: GREEN + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Blue: 0 + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _GradientStep: 0.2 + - _Green: 1 + - _Hue: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineGradient: 0.7 + - _OutlineOpacity: 0.15 + - _OutlineWidth: 2.5 + - _Parallax: 0.02 + - _Radius: 4 + - _Red: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/UI/HSLSlider.mat b/Assets/UI/HSLSlider.mat new file mode 100644 index 0000000..6587e7e --- /dev/null +++ b/Assets/UI/HSLSlider.mat @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HSLSlider + m_Shader: {fileID: 4800000, guid: a6b2542ba8ea844e7b0526fab69d88ed, type: 3} + m_ShaderKeywords: HUE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Blue: 0 + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _GradientStep: 0.2 + - _Green: 0 + - _Hue: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineGradient: 0.55 + - _OutlineOpacity: 0.15 + - _OutlineWidth: 2.5 + - _Parallax: 0.02 + - _Radius: 4 + - _Red: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/UI/HSLSquare.mat b/Assets/UI/HSLSquare.mat new file mode 100644 index 0000000..ee977b3 --- /dev/null +++ b/Assets/UI/HSLSquare.mat @@ -0,0 +1,89 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HSLSquare + m_Shader: {fileID: 4800000, guid: 41b82117f67243a4851d2ce6bbed0d6a, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Hue: 0.566 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineGradient: 0.55 + - _OutlineOpacity: 0.15 + - _OutlineWidth: 2.5 + - _Parallax: 0.02 + - _Radius: 4 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/UI/RSlider.mat b/Assets/UI/RSlider.mat new file mode 100644 index 0000000..d3f8729 --- /dev/null +++ b/Assets/UI/RSlider.mat @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: RSlider + m_Shader: {fileID: 4800000, guid: a6b2542ba8ea844e7b0526fab69d88ed, type: 3} + m_ShaderKeywords: RED + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Blue: 0 + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _GradientStep: 0.2 + - _Green: 0 + - _Hue: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineGradient: 0.7 + - _OutlineOpacity: 0.15 + - _OutlineWidth: 2.5 + - _Parallax: 0.02 + - _Radius: 4 + - _Red: 1 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/UI/Swatch.mat b/Assets/UI/Swatch.mat new file mode 100644 index 0000000..eff6da2 --- /dev/null +++ b/Assets/UI/Swatch.mat @@ -0,0 +1,92 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Swatch + m_Shader: {fileID: 4800000, guid: a6e04e87fe864ed6a3f6a3ce52f57024, type: 3} + m_ShaderKeywords: RED + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Blue: 0 + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Green: 0 + - _Hue: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineGradient: 0.3 + - _OutlineOpacity: 0.15 + - _OutlineWidth: 2.5 + - _Parallax: 0.02 + - _Radius: 4 + - _Red: 1 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.5176471, g: 0.5019608, b: 0.5019608, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/UI/TextEntryPanel.prefab b/Assets/UI/TextEntryPanel.prefab new file mode 100644 index 0000000..2557602 --- /dev/null +++ b/Assets/UI/TextEntryPanel.prefab @@ -0,0 +1,5193 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &863576268369149137 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 248133964552562355} + - component: {fileID: 5051496546726631038} + - component: {fileID: 7843708403266644202} + - component: {fileID: 4059459298533591787} + - component: {fileID: 7114721955932440169} + m_Layer: 5 + m_Name: Underline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &248133964552562355 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863576268369149137} + 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_Children: + - {fileID: 4206366922004686982} + - {fileID: 2518249671682932584} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -72, y: 36} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &5051496546726631038 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863576268369149137} + m_CullTransparentMesh: 0 +--- !u!114 &7843708403266644202 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863576268369149137} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &4059459298533591787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863576268369149137} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 7843708403266644202} + toggleTransition: 0 + graphic: {fileID: 4641122336774556287} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnUnderlineUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &7114721955932440169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863576268369149137} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 4 +--- !u!1 &1056214359654150367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1015882867106798601} + - component: {fileID: 2216054383550760567} + - component: {fileID: 4108193400074567964} + - component: {fileID: 1033188419000004327} + - component: {fileID: 4343769545885899159} + m_Layer: 0 + m_Name: TextMeshPro - InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1015882867106798601 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056214359654150367} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5512213929046168996} + m_Father: {fileID: 7818964152292396016} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 36, y: 0} + m_SizeDelta: {x: 40, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &2216054383550760567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056214359654150367} + m_CullTransparentMesh: 0 +--- !u!114 &4108193400074567964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056214359654150367} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &1033188419000004327 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056214359654150367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 4108193400074567964} + m_TextViewport: {fileID: 5512213929046168996} + m_TextComponent: {fileID: 5591379606081388491} + m_Placeholder: {fileID: 8054794656941788506} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 3 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 2 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 3 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnCharSpacingUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 0 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &4343769545885899159 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056214359654150367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &1520671394863605400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671394863605401} + - component: {fileID: 1520671394863605403} + - component: {fileID: 1520671394863605402} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671394863605401 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394863605400} + 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_Children: [] + m_Father: {fileID: 1520671396354983697} + m_RootOrder: 0 + 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!222 &1520671394863605403 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394863605400} + m_CullTransparentMesh: 0 +--- !u!114 &1520671394863605402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394863605400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Enter text... + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1520671394863605402} + characterCount: 13 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1520671394900557177 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671394900557178} + - component: {fileID: 1520671394900557180} + - component: {fileID: 1520671394900557179} + - component: {fileID: 4845215209073918063} + - component: {fileID: 4107602647194714914} + m_Layer: 5 + m_Name: TextEntryPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671394900557178 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394900557177} + 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_Children: + - {fileID: 1520671394958529487} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -27.88, y: 0} + m_SizeDelta: {x: 500, y: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1520671394900557180 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394900557177} + m_CullTransparentMesh: 0 +--- !u!114 &1520671394900557179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394900557177} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &4845215209073918063 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394900557177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 1 +--- !u!114 &4107602647194714914 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394900557177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13983bc82d73448f2871f37cb61c157c, type: 3} + m_Name: + m_EditorClassIdentifier: + _textBox: {fileID: 1520671395265771150} + _fontButton: {fileID: 6985715010031636768} + _lineSpacingSlider: {fileID: 594164991944800124} + _lineSpacingTextBox: {fileID: 2085744200860490848} + _charSpacingSlider: {fileID: 5784883827183898930} + _charSpacingTextBox: {fileID: 1033188419000004327} + _boldButton: {fileID: 103646914508867161} + _italicButton: {fileID: 7781006072788865112} + _underlineButton: {fileID: 4059459298533591787} + _smallCapsButton: {fileID: 3130895633263079212} + _verticalButton: {fileID: 3352161502929286653} +--- !u!1 &1520671394958529486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671394958529487} + m_Layer: 5 + m_Name: Layout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671394958529487 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671394958529486} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1520671395371966082} + - {fileID: 1520671396114588014} + - {fileID: 1520671395265771149} + - {fileID: 1520671395324010225} + - {fileID: 8431626688096736621} + - {fileID: 248133964552562355} + - {fileID: 4999102116388660914} + - {fileID: 6608254164458709766} + - {fileID: 391867847098466987} + - {fileID: 4094850539968077673} + - {fileID: 4028101940396157445} + - {fileID: 7818964152292396016} + m_Father: {fileID: 1520671394900557178} + m_RootOrder: 0 + 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: -16, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1520671395224995428 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671395224995429} + - component: {fileID: 1520671395224995431} + - component: {fileID: 1520671395224995430} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671395224995429 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395224995428} + 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_Children: [] + m_Father: {fileID: 1520671395324010225} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1520671395224995431 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395224995428} + m_CullTransparentMesh: 0 +--- !u!114 &1520671395224995430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395224995428} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 5775351990248684458, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &1520671395265771148 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671395265771149} + - component: {fileID: 1520671395265771376} + - component: {fileID: 1520671395265771151} + - component: {fileID: 1520671395265771150} + - component: {fileID: 9023165513747525751} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671395265771149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395265771148} + 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_Children: + - {fileID: 1520671396354983697} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 2 + 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: 22.000008} + m_SizeDelta: {x: 0, y: -100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1520671395265771376 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395265771148} + m_CullTransparentMesh: 0 +--- !u!114 &1520671395265771151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395265771148} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &1520671395265771150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395265771148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: -1 + m_SelectOnUp: {fileID: 1520671395371966083} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1520671395265771151} + m_TextViewport: {fileID: 1520671396354983697} + m_TextComponent: {fileID: 1520671395816581587} + m_Placeholder: {fileID: 1520671394863605402} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 1 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnTextUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &9023165513747525751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395265771148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &1520671395324010224 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671395324010225} + - component: {fileID: 1520671395324010228} + - component: {fileID: 1520671395324010227} + - component: {fileID: 3352161502929286653} + - component: {fileID: 7142540598786316424} + m_Layer: 5 + m_Name: Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671395324010225 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395324010224} + 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_Children: + - {fileID: 5598871790007813604} + - {fileID: 1520671395224995429} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 36} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &1520671395324010228 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395324010224} + m_CullTransparentMesh: 0 +--- !u!114 &1520671395324010227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395324010224} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &3352161502929286653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395324010224} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1520671395324010227} + toggleTransition: 0 + graphic: {fileID: 35561862710690461} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnVerticalUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &7142540598786316424 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395324010224} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 4 +--- !u!1 &1520671395371966081 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671395371966082} + - component: {fileID: 1520671395371966085} + - component: {fileID: 1520671395371966084} + - component: {fileID: 1520671395371966083} + - component: {fileID: 7152586764636542556} + m_Layer: 5 + m_Name: Exit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671395371966082 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395371966081} + 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_Children: + - {fileID: 1520671396039450875} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 12, y: -12} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1520671395371966085 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395371966081} + m_CullTransparentMesh: 0 +--- !u!114 &1520671395371966084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395371966081} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &1520671395371966083 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395371966081} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 4 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 1520671395265771150} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1520671395371966084} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: Close + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &7152586764636542556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395371966081} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 3 +--- !u!1 &1520671395816581585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671395816581586} + - component: {fileID: 1520671395816581588} + - component: {fileID: 1520671395816581587} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671395816581586 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395816581585} + 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_Children: [] + m_Father: {fileID: 1520671396354983697} + m_RootOrder: 1 + 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!222 &1520671395816581588 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395816581585} + m_CullTransparentMesh: 0 +--- !u!114 &1520671395816581587 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671395816581585} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1520671395816581587} + characterCount: 1 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1520671396039450874 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671396039450875} + - component: {fileID: 1520671396039450877} + - component: {fileID: 1520671396039450876} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671396039450875 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396039450874} + 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_Children: [] + m_Father: {fileID: 1520671395371966082} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1520671396039450877 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396039450874} + m_CullTransparentMesh: 0 +--- !u!114 &1520671396039450876 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396039450874} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -358807857636572042, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &1520671396114588013 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671396114588014} + - component: {fileID: 1520671396114587984} + - component: {fileID: 1520671396114588015} + - component: {fileID: 2129622528388133646} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671396114588014 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396114588013} + 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_Children: [] + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -16} + m_SizeDelta: {x: -234.2, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1520671396114587984 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396114588013} + m_CullTransparentMesh: 0 +--- !u!114 &1520671396114588015 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396114588013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Set Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: -13.321655} + m_textInfo: + textComponent: {fileID: 1520671396114588015} + characterCount: 8 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &2129622528388133646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396114588013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 9 +--- !u!1 &1520671396354983696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520671396354983697} + - component: {fileID: 1520671396354983698} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520671396354983697 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396354983696} + 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_Children: + - {fileID: 1520671394863605401} + - {fileID: 1520671395816581586} + m_Father: {fileID: 1520671395265771149} + m_RootOrder: 0 + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1520671396354983698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520671396354983696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1769581886159086369 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4405579238174732959} + - component: {fileID: 6906193028431133256} + - component: {fileID: 2521317079572308748} + - component: {fileID: 2085744200860490848} + - component: {fileID: 471092634163919775} + m_Layer: 0 + m_Name: TextMeshPro - InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4405579238174732959 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769581886159086369} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4824345170954008541} + m_Father: {fileID: 4028101940396157445} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 36, y: 0} + m_SizeDelta: {x: 40, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &6906193028431133256 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769581886159086369} + m_CullTransparentMesh: 0 +--- !u!114 &2521317079572308748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769581886159086369} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, 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!114 &2085744200860490848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769581886159086369} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b85855a3deaa2e44ac6741a6bbc85f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 2521317079572308748} + m_TextViewport: {fileID: 4824345170954008541} + m_TextComponent: {fileID: 2749463131537665434} + m_Placeholder: {fileID: 2220052767661635117} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 3 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 2 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 3 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SubmitEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+SelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnLineSpacingUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 0 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &471092634163919775 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769581886159086369} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1 &2431958725135330601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5730793749319026131} + - component: {fileID: 7799589637077204728} + - component: {fileID: 2220052767661635117} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5730793749319026131 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2431958725135330601} + 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_Children: [] + m_Father: {fileID: 4824345170954008541} + m_RootOrder: 0 + 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!222 &7799589637077204728 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2431958725135330601} + m_CullTransparentMesh: 0 +--- !u!114 &2220052767661635117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2431958725135330601} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 128 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 2220052767661635117} + characterCount: 3 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &2683476724693287319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9177129393553382370} + 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 &9177129393553382370 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2683476724693287319} + 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_Children: + - {fileID: 247602746255963750} + m_Father: {fileID: 8634447293061797274} + m_RootOrder: 1 + 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, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2791953489908084786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8634447293061797274} + - component: {fileID: 594164991944800124} + - component: {fileID: 2706797174853921500} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8634447293061797274 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2791953489908084786} + 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_Children: + - {fileID: 86276251821652166} + - {fileID: 9177129393553382370} + - {fileID: 9087196423820376560} + m_Father: {fileID: 4028101940396157445} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 80, y: 0} + m_SizeDelta: {x: 150, y: 20} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &594164991944800124 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2791953489908084786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 3100148686826658945} + m_FillRect: {fileID: 247602746255963750} + m_HandleRect: {fileID: 7114853885452492983} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnLineSpacingUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2706797174853921500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2791953489908084786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 6 +--- !u!1 &3012436746085557189 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5598871790007813604} + - component: {fileID: 4742292258023841562} + - component: {fileID: 35561862710690461} + m_Layer: 5 + m_Name: background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5598871790007813604 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3012436746085557189} + 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_Children: [] + m_Father: {fileID: 1520671395324010225} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.000015258789, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4742292258023841562 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3012436746085557189} + m_CullTransparentMesh: 0 +--- !u!114 &35561862710690461 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3012436746085557189} + 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: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &3409787324783517112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7818964152292396016} + m_Layer: 5 + m_Name: Char Spacing + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7818964152292396016 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3409787324783517112} + 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_Children: + - {fileID: 6031905893647534782} + - {fileID: 8697025921173840978} + - {fileID: 1015882867106798601} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 11 + 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: 36} + m_SizeDelta: {x: 243.82, y: 32} + m_Pivot: {x: 0, y: 0} +--- !u!1 &3548402426461037281 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3017615468825094214} + - component: {fileID: 3089037951665243958} + - component: {fileID: 2464521394487814206} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3017615468825094214 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3548402426461037281} + 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_Children: [] + m_Father: {fileID: 4999102116388660914} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3089037951665243958 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3548402426461037281} + m_CullTransparentMesh: 0 +--- !u!114 &2464521394487814206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3548402426461037281} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -3831321043596997534, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &3845986654965009033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8186125310983669297} + - component: {fileID: 8651568940572840148} + - component: {fileID: 3041507430523483165} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8186125310983669297 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3845986654965009033} + 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_Children: [] + m_Father: {fileID: 1014566400629074617} + m_RootOrder: 0 + 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 &8651568940572840148 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3845986654965009033} + m_CullTransparentMesh: 0 +--- !u!114 &3041507430523483165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3845986654965009033} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &3976759603058962064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4824345170954008541} + - component: {fileID: 7592747486998933321} + m_Layer: 0 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4824345170954008541 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3976759603058962064} + 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_Children: + - {fileID: 5730793749319026131} + - {fileID: 3579248506874096331} + m_Father: {fileID: 4405579238174732959} + m_RootOrder: 0 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7592747486998933321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3976759603058962064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &4036209030624810945 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1014566400629074617} + 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 &1014566400629074617 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4036209030624810945} + 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_Children: + - {fileID: 8186125310983669297} + m_Father: {fileID: 8697025921173840978} + m_RootOrder: 2 + 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: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &4203249712230291541 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1891981234763067922} + - component: {fileID: 3927825469208951681} + - component: {fileID: 3526181612928284179} + m_Layer: 5 + m_Name: background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1891981234763067922 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203249712230291541} + 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_Children: [] + m_Father: {fileID: 4999102116388660914} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3927825469208951681 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203249712230291541} + m_CullTransparentMesh: 0 +--- !u!114 &3526181612928284179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203249712230291541} + 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: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &4699558622001584100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4094850539968077673} + m_Layer: 5 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4094850539968077673 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4699558622001584100} + 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_Children: [] + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 100} + m_Pivot: {x: 0.5, y: 0} +--- !u!1 &4783229481345614337 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8697025921173840978} + - component: {fileID: 5784883827183898930} + - component: {fileID: 1927497183768736648} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8697025921173840978 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4783229481345614337} + 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_Children: + - {fileID: 6976075495833458065} + - {fileID: 1969133318776209897} + - {fileID: 1014566400629074617} + m_Father: {fileID: 7818964152292396016} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 80, y: 0} + m_SizeDelta: {x: 150, y: 20} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &5784883827183898930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4783229481345614337} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 3041507430523483165} + m_FillRect: {fileID: 280500948335986236} + m_HandleRect: {fileID: 8186125310983669297} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnCharSpacingUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1927497183768736648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4783229481345614337} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 6 +--- !u!1 &4822518142968371135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7764667588672451958} + - component: {fileID: 5133328290811962837} + - component: {fileID: 8054794656941788506} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7764667588672451958 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4822518142968371135} + 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_Children: [] + m_Father: {fileID: 5512213929046168996} + m_RootOrder: 0 + 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!222 &5133328290811962837 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4822518142968371135} + m_CullTransparentMesh: 0 +--- !u!114 &8054794656941788506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4822518142968371135} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: 128 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2133996082 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 8054794656941788506} + characterCount: 3 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &5499025183695345534 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7114853885452492983} + - component: {fileID: 7501167680183682905} + - component: {fileID: 3100148686826658945} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7114853885452492983 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499025183695345534} + 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_Children: [] + m_Father: {fileID: 9087196423820376560} + m_RootOrder: 0 + 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 &7501167680183682905 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499025183695345534} + m_CullTransparentMesh: 0 +--- !u!114 &3100148686826658945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499025183695345534} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &5823389815145031844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 391867847098466987} + - component: {fileID: 5117293165148543625} + - component: {fileID: 7840630465267790389} + - component: {fileID: 5242942141918186222} + - component: {fileID: 6985715010031636768} + m_Layer: 5 + m_Name: Font + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &391867847098466987 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5823389815145031844} + 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_Children: + - {fileID: 8799943257931639443} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 176, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &5117293165148543625 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5823389815145031844} + m_CullTransparentMesh: 0 +--- !u!114 &7840630465267790389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5823389815145031844} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &5242942141918186222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5823389815145031844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 3 +--- !u!114 &6985715010031636768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5823389815145031844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 7840630465267790389} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnFontMenu + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &5837012945562930199 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 247602746255963750} + - component: {fileID: 2289087775564336367} + - component: {fileID: 6082415253345866975} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &247602746255963750 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837012945562930199} + 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_Children: [] + m_Father: {fileID: 9177129393553382370} + m_RootOrder: 0 + 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 &2289087775564336367 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837012945562930199} + m_CullTransparentMesh: 0 +--- !u!114 &6082415253345866975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837012945562930199} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &5907108321592063908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2518249671682932584} + - component: {fileID: 8323713550947896860} + - component: {fileID: 2192015974855273136} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2518249671682932584 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5907108321592063908} + 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_Children: [] + m_Father: {fileID: 248133964552562355} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8323713550947896860 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5907108321592063908} + m_CullTransparentMesh: 0 +--- !u!114 &2192015974855273136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5907108321592063908} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -5061907809810374998, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &6003371799743254018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4999102116388660914} + - component: {fileID: 2497294989339614598} + - component: {fileID: 311410570346898957} + - component: {fileID: 7781006072788865112} + - component: {fileID: 2714003915600800472} + m_Layer: 5 + m_Name: Italic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4999102116388660914 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003371799743254018} + 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_Children: + - {fileID: 1891981234763067922} + - {fileID: 3017615468825094214} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -108, y: 36} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &2497294989339614598 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003371799743254018} + m_CullTransparentMesh: 0 +--- !u!114 &311410570346898957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003371799743254018} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &7781006072788865112 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003371799743254018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 311410570346898957} + toggleTransition: 0 + graphic: {fileID: 3526181612928284179} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnItalicUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &2714003915600800472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6003371799743254018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 4 +--- !u!1 &6064322512396380079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9087196423820376560} + 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 &9087196423820376560 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6064322512396380079} + 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_Children: + - {fileID: 7114853885452492983} + m_Father: {fileID: 8634447293061797274} + m_RootOrder: 2 + 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: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &6237370657264732551 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3579248506874096331} + - component: {fileID: 975832712135414569} + - component: {fileID: 2749463131537665434} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3579248506874096331 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6237370657264732551} + 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_Children: [] + m_Father: {fileID: 4824345170954008541} + m_RootOrder: 1 + 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!222 &975832712135414569 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6237370657264732551} + m_CullTransparentMesh: 0 +--- !u!114 &2749463131537665434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6237370657264732551} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "0\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 2749463131537665434} + characterCount: 2 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 3 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6331540601842798658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 657988483584784745} + - component: {fileID: 41579328363132925} + - component: {fileID: 5591379606081388491} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &657988483584784745 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6331540601842798658} + 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_Children: [] + m_Father: {fileID: 5512213929046168996} + m_RootOrder: 1 + 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!222 &41579328363132925 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6331540601842798658} + m_CullTransparentMesh: 0 +--- !u!114 &5591379606081388491 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6331540601842798658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: "0\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 258 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 0 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 1 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 5591379606081388491} + characterCount: 2 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 3 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6642420647213193219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6608254164458709766} + - component: {fileID: 2484827745879865639} + - component: {fileID: 221361566413220572} + - component: {fileID: 103646914508867161} + - component: {fileID: 4730609670180843404} + m_Layer: 5 + m_Name: Bold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6608254164458709766 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642420647213193219} + 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_Children: + - {fileID: 2921147349306511067} + - {fileID: 1526616677567329433} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -144, y: 36} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &2484827745879865639 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642420647213193219} + m_CullTransparentMesh: 0 +--- !u!114 &221361566413220572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642420647213193219} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &103646914508867161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642420647213193219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 221361566413220572} + toggleTransition: 0 + graphic: {fileID: 5731861707419282726} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnBoldUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &4730609670180843404 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642420647213193219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 4 +--- !u!1 &6919892095106253632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6976075495833458065} + - component: {fileID: 9004695358667906021} + - component: {fileID: 6606506538507409672} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6976075495833458065 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6919892095106253632} + 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_Children: [] + m_Father: {fileID: 8697025921173840978} + m_RootOrder: 0 + 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 &9004695358667906021 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6919892095106253632} + m_CullTransparentMesh: 0 +--- !u!114 &6606506538507409672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6919892095106253632} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &7064515224679370300 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2921147349306511067} + - component: {fileID: 4097695038102400356} + - component: {fileID: 5731861707419282726} + m_Layer: 5 + m_Name: background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2921147349306511067 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7064515224679370300} + 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_Children: [] + m_Father: {fileID: 6608254164458709766} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4097695038102400356 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7064515224679370300} + m_CullTransparentMesh: 0 +--- !u!114 &5731861707419282726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7064515224679370300} + 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: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &7142084901881631226 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4206366922004686982} + - component: {fileID: 7519149423395447935} + - component: {fileID: 4641122336774556287} + m_Layer: 5 + m_Name: background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4206366922004686982 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7142084901881631226} + 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_Children: [] + m_Father: {fileID: 248133964552562355} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7519149423395447935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7142084901881631226} + m_CullTransparentMesh: 0 +--- !u!114 &4641122336774556287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7142084901881631226} + 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: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &7191913097242273190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9103570396381106149} + - component: {fileID: 7287808437072368126} + - component: {fileID: 8599757201293177205} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9103570396381106149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7191913097242273190} + 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_Children: [] + m_Father: {fileID: 8431626688096736621} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7287808437072368126 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7191913097242273190} + m_CullTransparentMesh: 0 +--- !u!114 &8599757201293177205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7191913097242273190} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -1820685774770375293, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &7444142761690824517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8799943257931639443} + - component: {fileID: 5478106399109570604} + - component: {fileID: 8056519113998213482} + m_Layer: 5 + m_Name: Font Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8799943257931639443 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7444142761690824517} + 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_Children: [] + m_Father: {fileID: 391867847098466987} + m_RootOrder: 0 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5478106399109570604 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7444142761690824517} + m_CullTransparentMesh: 0 +--- !u!114 &8056519113998213482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7444142761690824517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496f2e385b0c62542b5c739ccfafd8da, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Font Name Here + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 8 + m_fontSizeMax: 18 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 8056519113998213482} + characterCount: 14 + spriteCount: 0 + spaceCount: 2 + wordCount: 3 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7507399724514717684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 280500948335986236} + - component: {fileID: 5594197487784983990} + - component: {fileID: 7592043975140125492} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &280500948335986236 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7507399724514717684} + 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_Children: [] + m_Father: {fileID: 1969133318776209897} + m_RootOrder: 0 + 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 &5594197487784983990 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7507399724514717684} + m_CullTransparentMesh: 0 +--- !u!114 &7592043975140125492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7507399724514717684} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &7543120419769561156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 86276251821652166} + - component: {fileID: 2464469518424102890} + - component: {fileID: 2939627163615206659} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &86276251821652166 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7543120419769561156} + 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_Children: [] + m_Father: {fileID: 8634447293061797274} + m_RootOrder: 0 + 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 &2464469518424102890 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7543120419769561156} + m_CullTransparentMesh: 0 +--- !u!114 &2939627163615206659 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7543120419769561156} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &7560304189534645282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6031905893647534782} + - component: {fileID: 1867085927803681505} + - component: {fileID: 3244540972853261431} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6031905893647534782 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7560304189534645282} + 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_Children: [] + m_Father: {fileID: 7818964152292396016} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1867085927803681505 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7560304189534645282} + m_CullTransparentMesh: 0 +--- !u!114 &3244540972853261431 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7560304189534645282} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: -7170213141654012179, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &7877813229903661339 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8431626688096736621} + - component: {fileID: 2881330019385905303} + - component: {fileID: 1331928431069168646} + - component: {fileID: 3130895633263079212} + - component: {fileID: 5543746315374052681} + m_Layer: 5 + m_Name: SmallCaps + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8431626688096736621 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7877813229903661339} + 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_Children: + - {fileID: 7256001640145519838} + - {fileID: 9103570396381106149} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -36, y: 36} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!222 &2881330019385905303 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7877813229903661339} + m_CullTransparentMesh: 0 +--- !u!114 &1331928431069168646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7877813229903661339} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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!114 &3130895633263079212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7877813229903661339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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: 1331928431069168646} + toggleTransition: 0 + graphic: {fileID: 7440561284060079954} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4107602647194714914} + m_MethodName: OnSmallCapsUpdate + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &5543746315374052681 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7877813229903661339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 4 +--- !u!1 &7955202920261370567 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7256001640145519838} + - component: {fileID: 6975333276915296268} + - component: {fileID: 7440561284060079954} + m_Layer: 5 + m_Name: background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7256001640145519838 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7955202920261370567} + 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_Children: [] + m_Father: {fileID: 8431626688096736621} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6975333276915296268 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7955202920261370567} + m_CullTransparentMesh: 0 +--- !u!114 &7440561284060079954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7955202920261370567} + 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: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 &7989794938615945056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1969133318776209897} + 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 &1969133318776209897 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7989794938615945056} + 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_Children: + - {fileID: 280500948335986236} + m_Father: {fileID: 8697025921173840978} + m_RootOrder: 1 + 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, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8284247867992713243 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7064461818484564097} + - component: {fileID: 743221890714512382} + - component: {fileID: 286525645348264024} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7064461818484564097 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8284247867992713243} + 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_Children: [] + m_Father: {fileID: 4028101940396157445} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &743221890714512382 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8284247867992713243} + m_CullTransparentMesh: 0 +--- !u!114 &286525645348264024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8284247867992713243} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 470361966263118911, guid: abd73d14d38d943d5af75506fc6c00d6, type: 3} + 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 &8838106848395622207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5512213929046168996} + - component: {fileID: 5673685287825196242} + m_Layer: 0 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5512213929046168996 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8838106848395622207} + 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_Children: + - {fileID: 7764667588672451958} + - {fileID: 657988483584784745} + m_Father: {fileID: 1015882867106798601} + m_RootOrder: 0 + 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: -8, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5673685287825196242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8838106848395622207} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &8869520335129021835 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1526616677567329433} + - component: {fileID: 7756119219685558780} + - component: {fileID: 4952187436430930574} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1526616677567329433 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8869520335129021835} + 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_Children: [] + m_Father: {fileID: 6608254164458709766} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7756119219685558780 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8869520335129021835} + m_CullTransparentMesh: 0 +--- !u!114 &4952187436430930574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8869520335129021835} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 5915275232787037033, guid: abd73d14d38d943d5af75506fc6c00d6, + type: 3} + 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 &9048422606835869547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4028101940396157445} + m_Layer: 5 + m_Name: Line Spacing + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4028101940396157445 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9048422606835869547} + 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_Children: + - {fileID: 7064461818484564097} + - {fileID: 8634447293061797274} + - {fileID: 4405579238174732959} + m_Father: {fileID: 1520671394958529487} + m_RootOrder: 10 + 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: 243.82, y: 32} + m_Pivot: {x: 0, y: 0} diff --git a/GameData/ConformalDecals/Localization/en-us.cfg b/GameData/ConformalDecals/Localization/en-us.cfg index 599411c..8d441f5 100644 --- a/GameData/ConformalDecals/Localization/en-us.cfg +++ b/GameData/ConformalDecals/Localization/en-us.cfg @@ -18,6 +18,14 @@ Localization #LOC_ConformalDecals_gui-aspectratio = Aspect Ratio #LOC_ConformalDecals_gui-select-flag = Select Flag #LOC_ConformalDecals_gui-reset-flag = Reset Flag + #LOC_ConformalDecals_gui-set-text = Set Text + #LOC_ConformalDecals_gui-group-fill = Fill + #LOC_ConformalDecals_gui-group-outline = Outline + #LOC_ConformalDecals_gui-fill = Fill + #LOC_ConformalDecals_gui-set-fill-color = Set Fill Color + #LOC_ConformalDecals_gui-outline = Outline + #LOC_ConformalDecals_gui-outline-width = Outline Width + #LOC_ConformalDecals_gui-set-outline-color = Set Outline Color // PARTS @@ -26,6 +34,11 @@ Localization #LOC_ConformalDecals_flag-description = A simple switchable flag. Can either use the mission flag or select a specific flag to use. #LOC_ConformalDecals_flag-tags = conformal decal sticker flag + // Text + #LOC_ConformalDecals_text-title = CDL-T Text Decal + #LOC_ConformalDecals_text-description = A decal that can display custom text in a variety of fonts + #LOC_ConformalDecals_text-tags = conformal decal sticker text font + // Generic Decals #LOC_ConformalDecals_generic-title = CDL-1 Generic Decal #LOC_ConformalDecals_generic-description = A set of generic warning decals and signs to add to your vehicles. @@ -64,7 +77,7 @@ Localization // Semiotic Decals #LOC_ConformalDecals_semiotic-title = CDL-2 Semiotic Standard Decal - #LOC_ConformalDecals_semiotic-description = After several unfortunate mishaps with confusing signage on spacecraft, The Peel-N-Stik™ Corporation teamed up with Kerland-Mutani to unveil the Semiotic Standard for Kerbal Vessels, a set of standardized icons for use on ships and stations. + #LOC_ConformalDecals_semiotic-description = After several unfortunate mishaps with confusing signage on spacecraft, The Peel-N-Stik™ Corporation teamed up with Kerland-Mutani to unveil the Semiotic Standard for Kerbal Vessels, a set of standardized icons for use on ships and stations. (Based on the work of Ron Cobb) #LOC_ConformalDecals_semiotic-tags = conformal decal sticker semiotic standard for kerbal vessels Ron Cobb Alien #LOC_ConformalDecals_semiotic-variant-00 = Hazard #LOC_ConformalDecals_semiotic-variant-01 = Blank @@ -98,5 +111,47 @@ Localization #LOC_ConformalDecals_semiotic-variant-29 = Radiation Hazard #LOC_ConformalDecals_semiotic-variant-30 = Radiation Bunker #LOC_ConformalDecals_semiotic-variant-31 = Exhaust + + // Munar Decals + #LOC_ConformalDecals_munar-title = CDL-3 Surface Base Decal + #LOC_ConformalDecals_munar-description = Munar Industries Ltd. saw the wild success of the CDL-2 decal, and wanted to develop a decal set for their own line of Heluim mining bases. These decals are more explicit than the Semiotic Standard and aimed at the hazards that come with more advanced techonologies. (Based on the work of Gavin Rothery) + #LOC_ConformalDecals_munar-tag = conformal decal sticker Moon munar lunar industries Gavin Rothery Sarang + #LOC_ConformalDecals_munar-variant-severe-danger = Severe Danger + #LOC_ConformalDecals_munar-variant-danger = Danger + #LOC_ConformalDecals_munar-variant-hazard = Hazard + #LOC_ConformalDecals_munar-variant-warning = Warning + #LOC_ConformalDecals_munar-variant-bulkhead = Bulkhead + #LOC_ConformalDecals_munar-variant-hatch = Hatch + #LOC_ConformalDecals_munar-variant-pressure-hatch = Hatch (Pressurized) + #LOC_ConformalDecals_munar-variant-door = Doorway + #LOC_ConformalDecals_munar-variant-door-danger = Do Not Obstruct + #LOC_ConformalDecals_munar-variant-airlock-interior = Airlock (Interior) + #LOC_ConformalDecals_munar-variant-airlock-exterior = Airlock (Exterior) + #LOC_ConformalDecals_munar-variant-check-seals = Check All Seals + #LOC_ConformalDecals_munar-variant-pressure-seal = Pressure Seal + #LOC_ConformalDecals_munar-variant-vacuum = Danger Vacuum + #LOC_ConformalDecals_munar-variant-gas-mask = Breathing Apparatus Required + #LOC_ConformalDecals_munar-variant-oxygen-rich = Oxygen Rich Environment + #LOC_ConformalDecals_munar-variant-robotic-work = Heavy Robotic Work Ahead + #LOC_ConformalDecals_munar-variant-explosion = Explosion Hazard + #LOC_ConformalDecals_munar-variant-radiation = Radiation Hazard + #LOC_ConformalDecals_munar-variant-antimatter = Annihilation Hazard + #LOC_ConformalDecals_munar-variant-high-voltage = High Voltage + #LOC_ConformalDecals_munar-variant-extreme-voltage = Extreme Voltage + #LOC_ConformalDecals_munar-variant-explosive-bolts = Explosive Bolts + #LOC_ConformalDecals_munar-variant-autonomous-device = Autonomous Device + #LOC_ConformalDecals_munar-variant-gravity-adjust = Gravity Adjust + #LOC_ConformalDecals_munar-variant-electromagnetic = Strong EM Field + #LOC_ConformalDecals_munar-variant-mind-step = Mind Step + #LOC_ConformalDecals_munar-variant-class-1 = Class 1 Hazard: Flammable Liquid + #LOC_ConformalDecals_munar-variant-class-2 = Class 2 Hazard: Flammable Solid + #LOC_ConformalDecals_munar-variant-class-3 = Class 3 Hazard: Magnetic Field + #LOC_ConformalDecals_munar-variant-class-4 = Class 4 Hazard: Electric Field + #LOC_ConformalDecals_munar-variant-class-5 = Class 5 Hazard: Pressurized Fuel + #LOC_ConformalDecals_munar-variant-class-6 = Class 6 Hazard: Pressurized Coolant + #LOC_ConformalDecals_munar-variant-class-7 = Class 7 Hazard: Cryogenic Liquid + #LOC_ConformalDecals_munar-variant-class-8 = Class 8 Hazard: Radioactive + #LOC_ConformalDecals_munar-variant-class-9 = Class 9 Hazard: Ionized Gas + #LOC_ConformalDecals_munar-variant-class-10 = Class 10 Hazard: Antimatter } } \ No newline at end of file diff --git a/GameData/ConformalDecals/Parts/Generic/decal-generic.cfg b/GameData/ConformalDecals/Parts/Generic/decal-generic.cfg index 04d68d5..f43000b 100644 --- a/GameData/ConformalDecals/Parts/Generic/decal-generic.cfg +++ b/GameData/ConformalDecals/Parts/Generic/decal-generic.cfg @@ -65,7 +65,12 @@ PART scaleRange = 0.1, 4 scaleMode = AVERAGE - shader = ConformalDecals/Paint/Specular + shader = ConformalDecals/Decal/Standard + + KEYWORD { + name = DECAL_SDF_ALPHA + value = false + } TEXTURE { name = _Decal @@ -108,7 +113,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 128, 2, 128, 112 } } @@ -123,7 +128,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 256, 2, 128, 112 } } @@ -138,7 +143,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 384, 2, 128, 112 } } @@ -153,7 +158,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 690, 4, 330, 118 } } @@ -168,7 +173,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 898, 4, 122, 118 } } @@ -183,7 +188,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 6, 126, 196, 132 } } @@ -198,7 +203,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 210, 122, 94, 94 } } @@ -213,7 +218,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 8, 262, 192, 70 } } @@ -242,7 +247,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 508, 332, 262, 112 } } @@ -257,7 +262,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 202, 218, 164, 114 } } @@ -272,7 +277,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 366, 218, 164, 114 } } @@ -347,7 +352,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 326, 426, 164, 20 } } @@ -363,7 +368,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 776, 388, 48, 48 } } @@ -378,7 +383,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 328, 456, 48, 48 } } @@ -393,7 +398,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 376, 456, 48, 48 } } @@ -408,7 +413,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 424, 456, 48, 48 } } @@ -423,7 +428,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 472, 456, 48, 48 } } @@ -438,7 +443,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 520, 456, 48, 48 } } @@ -453,7 +458,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 568, 456, 48, 48 } } @@ -468,7 +473,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 614, 456, 48, 48 } } @@ -483,7 +488,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 662, 456, 48, 48 } } @@ -498,7 +503,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 710, 456, 48, 48 } } @@ -513,7 +518,7 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/SpecularSDF + KEYWORD { name = DECAL_SDF_ALPHA } tile = 758, 456, 48, 48 } } @@ -528,7 +533,10 @@ PART MODULE { IDENTIFIER { name = ModuleConformalDecal } DATA { - shader = ConformalDecals/Paint/Diffuse + TEXTURE { + name = _SpecMap + remove = true + } tile = 826, 360, 196, 150 opacity = 1 diff --git a/GameData/ConformalDecals/Parts/Munar/Munar-Atlas.dds b/GameData/ConformalDecals/Parts/Munar/Munar-Atlas.dds new file mode 100644 index 0000000..81b3096 Binary files /dev/null and b/GameData/ConformalDecals/Parts/Munar/Munar-Atlas.dds differ diff --git a/GameData/ConformalDecals/Parts/Munar/decal-munar.cfg b/GameData/ConformalDecals/Parts/Munar/decal-munar.cfg new file mode 100644 index 0000000..9b0a494 --- /dev/null +++ b/GameData/ConformalDecals/Parts/Munar/decal-munar.cfg @@ -0,0 +1,537 @@ +PART +{ + name = conformaldecals-munar + module = Part + author = Andrew Cassidy + MODEL + { + model = ConformalDecals/Assets/decal-blank + scale = 1.0, 1.0, 1.0 + } + rescaleFactor = 1 + + // Attachment + attachRules = 1,1,0,0,1 + node_attach = 0.0, 0.0, 0.05, 0.0, 0.0, -1.0 + + // Tech + TechRequired = start + + // Info + cost = 75 + category = Structural + + // CDL-3 Surface Base Decal + title = #LOC_ConformalDecals_munar-title + + // Peel-N-Stik Adhesive Decals + manufacturer = #LOC_ConformalDecals_agent-peel-n-stick_title + + // Munar Industries Ltd. saw the wild success of the CDL-2 decal, and wanted to develop a decal set for their own line of Heluim mining bases. These decals are more explicit than the Semiotic Standard and aimed at the hazards that come with more advanced techonologies. (Based on the work of Gavin Rothery) + description = #LOC_ConformalDecals_munar-description + + // conformal decal sticker Moon munar lunar industries Gavin Rothery Sarang + tags = #LOC_ConformalDecals_munar-tags + + bulkheadProfiles = srf + + // Parameters + mass = 0.0005 + dragModel = NONE + angularDrag = 0.0 + crashTolerance = 10 + maxTemp = 2000 + breakingForce = 350 + breakingTorque = 150 + physicalSignificance = NONE + + MODULE + { + name = ModuleConformalDecal + + useBaseNormal = true + + tile = -1, -1, 0, 0 + tileSize = 96, 96 + tileIndex = 0 + + defaultScale = 0.1 + defaultDepth = 0.1 + defaultOpacity = 0.8 + defaultCutoff = 0 + + scaleRange = 0.05, 0.5 + scaleMode = MINIMUM + cutoffAdjustable = false + + shader = ConformalDecals/Decal/Standard + + TEXTURE { + name = _Decal + textureUrl = ConformalDecals/Parts/Munar/Munar-Atlas + isMain = true + autoTile = true + } + + TEXTURE { + name = _SpecMap + textureUrl = ConformalDecals/Assets/Decal-Spec + autoScale = true + } + } + + MODULE { + name = ModuleB9PartSwitch + + SUBTYPE { + name = severe-danger + title = #LOC_ConformalDecals_munar-variant-severe-danger + primaryColor = #2B250D + secondaryColor = #F78000 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 0 } + } + } + + SUBTYPE { + name = danger + title = #LOC_ConformalDecals_munar-variant-danger + primaryColor = #93927E + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 2 } + } + } + + SUBTYPE { + name = hazard + title = #LOC_ConformalDecals_munar-variant-hazard + primaryColor = #2B250D + secondaryColor = #CC1F01 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 6 } + } + } + + SUBTYPE { + name = warning + title = #LOC_ConformalDecals_munar-variant-warning + primaryColor = #2B250D + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 5 } + } + } + + SUBTYPE { + name = bulkhead + title = #LOC_ConformalDecals_munar-variant-bulkhead + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 7 } + } + } + + + SUBTYPE { + name = hatch + title = #LOC_ConformalDecals_munar-variant-hatch + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 3 } + } + } + + SUBTYPE { + name = pressure-hatch + title = #LOC_ConformalDecals_munar-variant-pressure-hatch + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 4 } + } + } + + SUBTYPE { + name = door + title = #LOC_ConformalDecals_munar-variant-door + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 5 } + } + } + + SUBTYPE { + name = door-danger + title = #LOC_ConformalDecals_munar-variant-door-danger + primaryColor = #2B250D + secondaryColor = #CC1F01 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { + tile = 960, 0, 64, 96 + scaleMode = HEIGHT + } + } + } + + SUBTYPE { + name = airlock-interior + title = #LOC_ConformalDecals_munar-variant-airlock-interior + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 866, 96, 142, 96 } + } + } + + SUBTYPE { + name = airlock-exterior + title = #LOC_ConformalDecals_munar-variant-airlock-exterior + primaryColor = #CC1F01 + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 768, 96, 142, 96 } + } + } + + SUBTYPE { + name = check-seals + title = #LOC_ConformalDecals_munar-variant-check-seals + primaryColor = White + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 8 } + } + } + + SUBTYPE { + name = pressure-seal + title = #LOC_ConformalDecals_munar-variant-pressure-seal + primaryColor = White + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 9 } + } + } + + SUBTYPE { + name = vacuum + title = #LOC_ConformalDecals_munar-variant-vacuum + primaryColor = #93927E + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 17 } + } + } + + SUBTYPE { + name = gas-mask + title = #LOC_ConformalDecals_munar-variant-gas-mask + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 96, 320, 96, 116 } + } + } + + SUBTYPE { + name = oxygen-rich + title = #LOC_ConformalDecals_munar-variant-oxygen-rich + primaryColor = #CC1F01 + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 288, 416, 96, 96 } + } + } + + SUBTYPE { + name = robotic-work + title = #LOC_ConformalDecals_munar-variant-robotic-work + primaryColor = #F78000 + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 10 } + } + } + + SUBTYPE { + name = explosion + title = #LOC_ConformalDecals_munar-variant-explosion + primaryColor = #F78000 + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 0, 320, 96, 116 } + } + } + + SUBTYPE { + name = radiation + title = #LOC_ConformalDecals_munar-variant-radiation + primaryColor = #F78000 + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 1 } + } + } + + SUBTYPE { + name = antimatter + title = #LOC_ConformalDecals_munar-variant-antimatter + primaryColor = #F78000 + secondaryColor = #2B250D + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 11 } + } + } + + SUBTYPE { + name = high-voltage + title = #LOC_ConformalDecals_munar-variant-high-voltage + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 13 } + } + } + + SUBTYPE { + name = extreme-voltage + title = #LOC_ConformalDecals_munar-variant-extreme-voltage + primaryColor = #2B250D + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 14 } + } + } + + SUBTYPE { + name = explosive-bolts + title = #LOC_ConformalDecals_munar-variant-explosive-bolts + primaryColor = #93927E + secondaryColor = #CC1F01 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 15 } + } + } + + SUBTYPE { + name = autonomous-device + title = #LOC_ConformalDecals_munar-variant-autonomous-device + primaryColor = #2B250D + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tileIndex = 16 } + } + } + + SUBTYPE { + name = gravity-adjust + title = #LOC_ConformalDecals_munar-variant-gravity-adjust + primaryColor = White + secondaryColor = #CC1F01 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 288, 320, 96, 96 } + } + } + + SUBTYPE { + name = electromagnetic + title = #LOC_ConformalDecals_munar-variant-electromagnetic + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { + tile = 967, 195, 50, 90 + scaleMode = HEIGHT + } + } + } + + SUBTYPE { + name = mind-step + title = #LOC_ConformalDecals_munar-variant-mind-step + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 1, 447, 230, 64 } + } + } + + SUBTYPE { + name = class-1 + title = #LOC_ConformalDecals_munar-variant-class-1 + primaryColor = #CC1F01 + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 0, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-2 + title = #LOC_ConformalDecals_munar-variant-class-2 + primaryColor = #93927E + secondaryColor = #CC1F01 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 96, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-3 + title = #LOC_ConformalDecals_munar-variant-class-3 + primaryColor = #93927E + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 192, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-4 + title = #LOC_ConformalDecals_munar-variant-class-4 + primaryColor = #93927E + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 288, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-5 + title = #LOC_ConformalDecals_munar-variant-class-5 + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 384, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-6 + title = #LOC_ConformalDecals_munar-variant-class-6 + primaryColor = #93927E + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 480, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-7 + title = #LOC_ConformalDecals_munar-variant-class-7 + primaryColor = #F78000 + secondaryColor = #93927E + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 576, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-8 + title = #LOC_ConformalDecals_munar-variant-class-8 + primaryColor = #93927E + secondaryColor = #F78000 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 672, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-9 + title = #LOC_ConformalDecals_munar-variant-class-9 + primaryColor = #93927E + secondaryColor = #F78000 + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 768, 192, 96, 128 } + } + } + + SUBTYPE { + name = class-10 + title = #LOC_ConformalDecals_munar-variant-class-10 + primaryColor = #F78000 + secondaryColor = White + + MODULE { + IDENTIFIER { name = ModuleConformalDecal } + DATA { tile = 864, 192, 96, 128 } + } + } + } +} diff --git a/GameData/ConformalDecals/Parts/Semiotic/decal-semiotic.cfg b/GameData/ConformalDecals/Parts/Semiotic/decal-semiotic.cfg index 00b42db..e1fe456 100644 --- a/GameData/ConformalDecals/Parts/Semiotic/decal-semiotic.cfg +++ b/GameData/ConformalDecals/Parts/Semiotic/decal-semiotic.cfg @@ -21,13 +21,13 @@ PART cost = 75 category = Structural - // CDL-1 Semiotic Standard Decal + // CDL-2 Semiotic Standard Decal title = #LOC_ConformalDecals_semiotic-title // Peel-N-Stik Adhesive Decals manufacturer = #LOC_ConformalDecals_agent-peel-n-stick_title - // After several unfortunate mishaps with confusing signage on spacecraft, The Peel-N-Stik™ Corporation teamed up with Kerland-Mutani to unveil the Semiotic Standard for Kerbal Vessels, a set of standardized icons for use on ships and stations. + // After several unfortunate mishaps with confusing signage on spacecraft, The Peel-N-Stik™ Corporation teamed up with Kerland-Mutani to unveil the Semiotic Standard for Kerbal Vessels, a set of standardized icons for use on ships and stations. (Based on the work of Ron Cobb) description = #LOC_ConformalDecals_semiotic-description // conformal decal sticker semiotic standard for kerbal vessels Ron Cobb Alien @@ -62,7 +62,7 @@ PART scaleRange = 0.05, 0.5 cutoffAdjustable = false - shader = ConformalDecals/Paint/Specular + shader = ConformalDecals/Decal/Standard TEXTURE { name = _Decal diff --git a/GameData/ConformalDecals/Parts/decal-flag.cfg b/GameData/ConformalDecals/Parts/decal-flag.cfg index 41cd440..216d6eb 100644 --- a/GameData/ConformalDecals/Parts/decal-flag.cfg +++ b/GameData/ConformalDecals/Parts/decal-flag.cfg @@ -53,5 +53,13 @@ PART defaultDepth = 0.2 defaultCutoff = 0 + + shader = ConformalDecals/Decal/Standard + + TEXTURE { + name = _SpecMap + textureUrl = ConformalDecals/Assets/Decal-Spec + autoScale = true + } } } diff --git a/GameData/ConformalDecals/Parts/decal-text.cfg b/GameData/ConformalDecals/Parts/decal-text.cfg new file mode 100644 index 0000000..ed1edc1 --- /dev/null +++ b/GameData/ConformalDecals/Parts/decal-text.cfg @@ -0,0 +1,63 @@ +PART +{ + name = conformaldecals-text + module = Part + author = Andrew Cassidy + MODEL + { + model = ConformalDecals/Assets/decal-blank + scale = 1.0, 1.0, 1.0 + } + rescaleFactor = 1 + + // Attachment + attachRules = 1,1,0,0,1 + node_attach = 0.0, 0.0, 0.1, 0.0, 0.0, -1.0 + + // Tech + TechRequired = start + + // Info + cost = 75 + category = Structural + + // CDL-T Text Decal + title = #LOC_ConformalDecals_text-title + + + // Peel-N-Stik Adhesive Decals + manufacturer = #LOC_ConformalDecals_agent-peel-n-stick_title + + // A decal that can display custom text in a variety of fonts + description = #LOC_ConformalDecals_text-description + + + // conformal decal sticker text font + tags = #LOC_ConformalDecals_text-tags + + bulkheadProfiles = srf + + // Parameters + mass = 0.0005 + dragModel = NONE + angularDrag = 0.0 + crashTolerance = 10 + maxTemp = 2000 + breakingForce = 350 + breakingTorque = 150 + physicalSignificance = NONE + + MODULE + { + name = ModuleConformalText + + text = Text + + shader = ConformalDecals/Decal/Text + useBaseNormal = true + scaleMode = MINIMUM + + defaultDepth = 0.2 + defaultCutoff = 0.5 + } +} diff --git a/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/GameData/ConformalDecals/Plugins/ConformalDecals.dll index 5629590..d6fc903 100644 Binary files a/GameData/ConformalDecals/Plugins/ConformalDecals.dll and b/GameData/ConformalDecals/Plugins/ConformalDecals.dll differ diff --git a/GameData/ConformalDecals/Resources/Categories.cfg b/GameData/ConformalDecals/Resources/Categories.cfg index 934cb77..88da0f6 100644 --- a/GameData/ConformalDecals/Resources/Categories.cfg +++ b/GameData/ConformalDecals/Resources/Categories.cfg @@ -1,6 +1,7 @@ // Custom category, requires WildBlueTools to work MODCAT { + name = conformaldecals title = #LOC_ConformalDecals_category-decals_title // Decals folderName = ConformalDecals diff --git a/GameData/ConformalDecals/Resources/ConformalDecals.cfg b/GameData/ConformalDecals/Resources/ConformalDecals.cfg index bed0e9c..0057e17 100644 --- a/GameData/ConformalDecals/Resources/ConformalDecals.cfg +++ b/GameData/ConformalDecals/Resources/ConformalDecals.cfg @@ -20,4 +20,41 @@ CONFORMALDECALS { shader = KSP/Specular (Transparent) shader = Solid Color (Alpha) } + + FONT { + name = LiberationSans SDF + title = Liberation Sans + } + + FONT { + name = Calibri SDF + title = Calibri + } + + FONT { + name = NotoSans-Regular SDF + title = Noto Sans + } + + FONT { + name = Waukegan LDO Extended SDF + title = Waukegan Extended + } + + FONT { + name = Nasalization SDF + title = Nasalization + } + + FONT { + name = Helvetica SDF + title = Helvetica + } + + FONT { + name = amarurgt SDF + title = Amarillo USAF + style = 32 + styleMask = 4 + } } \ No newline at end of file diff --git a/GameData/ConformalDecals/Resources/conformaldecals.kspfont b/GameData/ConformalDecals/Resources/conformaldecals.kspfont new file mode 100644 index 0000000..3a82b57 --- /dev/null +++ b/GameData/ConformalDecals/Resources/conformaldecals.kspfont @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8580f3c17793051fdc08447401fb7920665ad681ff352588508044b662a3240b +size 364900 diff --git a/GameData/ConformalDecals/Resources/conformaldecals.shab b/GameData/ConformalDecals/Resources/conformaldecals.shab index b08d309..f7702b8 100644 Binary files a/GameData/ConformalDecals/Resources/conformaldecals.shab and b/GameData/ConformalDecals/Resources/conformaldecals.shab differ diff --git a/GameData/ConformalDecals/Resources/ui.conformaldecals b/GameData/ConformalDecals/Resources/ui.conformaldecals new file mode 100644 index 0000000..062eff7 Binary files /dev/null and b/GameData/ConformalDecals/Resources/ui.conformaldecals differ diff --git a/GameData/ConformalDecals/Versioning/ConformalDecals.version b/GameData/ConformalDecals/Versioning/ConformalDecals.version index c510871..4394fde 100644 --- a/GameData/ConformalDecals/Versioning/ConformalDecals.version +++ b/GameData/ConformalDecals/Versioning/ConformalDecals.version @@ -5,8 +5,8 @@ "VERSION": { "MAJOR":0, - "MINOR":1, - "PATCH":4, + "MINOR":2, + "PATCH":0, "BUILD":0 }, "KSP_VERSION": diff --git a/README.md b/README.md index f06eca2..ebbf256 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Conformal Decals v0.1.4 +# Conformal Decals v0.2.0 [![Build Status](https://travis-ci.org/drewcassidy/KSP-Conformal-Decals.svg?branch=release)](https://travis-ci.org/drewcassidy/KSP-Conformal-Decals) [![Art: CC BY-SA 4.0](https://img.shields.io/badge/Art%20License-CC%20BY--SA%204.0-orange.svg)](https://creativecommons.org/licenses/by-sa/4.0/) [![Code: GPL v3](https://img.shields.io/badge/Code%20License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![Screenshot](http://pileof.rocks/KSP/images/ConformalDecalsHeader.png) @@ -20,6 +20,7 @@ Optional: - Art and Plugin code: Andrew Cassidy (Cineboxandrew) - Semiotic decal pack based on the work of Ron Cobb +- Munar decal pack based on the work of Gavin Rothery ## Installation diff --git a/Source/ConformalDecals/ConformalDecals.csproj b/Source/ConformalDecals/ConformalDecals.csproj index fd1d246..633ca50 100644 --- a/Source/ConformalDecals/ConformalDecals.csproj +++ b/Source/ConformalDecals/ConformalDecals.csproj @@ -1,6 +1,6 @@ - + Debug AnyCPU @@ -17,7 +17,7 @@ true full false - bin\Debug\ + bin/Debug/ DEBUG;TRACE prompt 4 @@ -25,12 +25,12 @@ pdbonly true - bin\Release\ + bin/Release/ TRACE prompt 4 - bin\Release\ConformalDecals.xml - CS1591 + bin/Release/ConformalDecals.xml + CS1591,CS0649 @@ -41,34 +41,72 @@ - dlls\UnityEngine.dll + dlls/UnityEngine.dll + + + dlls/UnityEngine.AssetBundleModule.dll - dlls\UnityEngine.CoreModule.dll + dlls/UnityEngine.CoreModule.dll - dlls\UnityEngine.PhysicsModule.dll + dlls/UnityEngine.PhysicsModule.dll + + + dlls/UnityEngine.TextCoreModule.dll + + + dlls/UnityEngine.TextRenderingModule.dll + + + dlls/UnityEngine.UI.dll + + + dlls/UnityEngine.UIElementsModule.dll + + + dlls/UnityEngine.UIModule.dll - - - - - + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + sh -e -c "cp -v '$(TargetPath)' '$(SolutionDir)/../GameData/ConformalDecals/Plugins'" diff --git a/Source/ConformalDecals/DecalConfig.cs b/Source/ConformalDecals/DecalConfig.cs index ca35d8d..a0cc843 100644 --- a/Source/ConformalDecals/DecalConfig.cs +++ b/Source/ConformalDecals/DecalConfig.cs @@ -1,13 +1,47 @@ +using System; using System.Collections.Generic; +using ConformalDecals.Text; using ConformalDecals.Util; +using TMPro; +using UniLinq; using UnityEngine; namespace ConformalDecals { public static class DecalConfig { - private static Texture2D _blankNormal; - private static List _shaderBlacklist; - private static int _decalLayer = 31; - private static bool _selectableInFlight = false; + private static Texture2D _blankNormal; + private static List _shaderBlacklist; + private static Dictionary _fontList; + private static int _decalLayer = 31; + private static bool _selectableInFlight; + + private struct LegacyShaderEntry { + public string name; + public string[] keywords; + } + + private static readonly Dictionary LegacyShaderPairs = new Dictionary() { + ["ConformalDecals/Feature/Bumped"] = new LegacyShaderEntry() { + name = "ConformalDecals/Decal/Standard", + keywords = new[] {"DECAL_BUMPMAP"} + }, + ["ConformalDecals/Paint/Diffuse"] = new LegacyShaderEntry() { + name = "ConformalDecals/Decal/Standard", + keywords = new string[] { } + }, + ["ConformalDecals/Paint/Specular"] = new LegacyShaderEntry() { + name = "ConformalDecals/Decal/Standard", + keywords = new[] {"DECAL_SPECMAP"} + }, + ["ConformalDecals/Paint/DiffuseSDF"] = new LegacyShaderEntry() { + name = "ConformalDecals/Decal/Standard", + keywords = new[] {"DECAL_SDF_ALPHA"} + }, + ["ConformalDecals/Paint/SpecularSDF"] = new LegacyShaderEntry() { + name = "ConformalDecals/Decal/Standard", + keywords = new[] {"DECAL_SDF_ALPHA", "DECAL_SPECMAP"} + }, + }; + public static Texture2D BlankNormal => _blankNormal; @@ -15,6 +49,10 @@ namespace ConformalDecals { public static bool SelectableInFlight => _selectableInFlight; + public static IEnumerable Fonts => _fontList.Values; + + public static DecalFont FallbackFont { get; private set; } + public static bool IsBlacklisted(Shader shader) { return IsBlacklisted(shader.name); } @@ -23,19 +61,53 @@ namespace ConformalDecals { return _shaderBlacklist.Contains(shaderName); } + public static bool IsLegacy(string shaderName, out string newShader, out string[] keywords) { + if (LegacyShaderPairs.TryGetValue(shaderName, out var entry)) { + newShader = entry.name; + keywords = entry.keywords; + return true; + } + + newShader = null; + keywords = null; + return false; + } + + public static DecalFont GetFont(string name) { + if (_fontList.TryGetValue(name, out var font)) { + return font; + } + else { + throw new KeyNotFoundException($"Font {name} not found"); + } + } + private static void ParseConfig(ConfigNode node) { + + ParseUtil.ParseIntIndirect(ref _decalLayer, node, "decalLayer"); + ParseUtil.ParseBoolIndirect(ref _selectableInFlight, node, "selectableInFlight"); + foreach (var blacklist in node.GetNodes("SHADERBLACKLIST")) { foreach (var shaderName in blacklist.GetValuesList("shader")) { _shaderBlacklist.Add(shaderName); } - - ParseUtil.ParseIntIndirect(ref _decalLayer, node, "decalLayer"); - ParseUtil.ParseBoolIndirect(ref _selectableInFlight, node, "selectableInFlight"); + } + + var allFonts = Resources.FindObjectsOfTypeAll(); + + foreach (var fontNode in node.GetNodes("FONT")) { + try { + var font = new DecalFont(fontNode, allFonts); + _fontList.Add(font.Name, font); + } + catch (Exception e) { + Debug.LogException(e); + } } } private static Texture2D MakeBlankNormal() { - Debug.Log("ConformalDecals: Generating neutral normal map texture"); + Logging.Log("Generating neutral normal map texture"); var width = 2; var height = 2; var color = new Color32(255, 128, 128, 128); @@ -56,11 +128,12 @@ namespace ConformalDecals { // ReSharper disable once UnusedMember.Global public static void ModuleManagerPostLoad() { _shaderBlacklist = new List(); + _fontList = new Dictionary(); var configs = GameDatabase.Instance.GetConfigs("CONFORMALDECALS"); if (configs.Length > 0) { - Debug.Log("ConformalDecals: loading config"); + Logging.Log("loading config"); foreach (var config in configs) { ParseConfig(config.config); } diff --git a/Source/ConformalDecals/DecalIconFixer.cs b/Source/ConformalDecals/DecalIconFixer.cs index 491a95f..68537e3 100644 --- a/Source/ConformalDecals/DecalIconFixer.cs +++ b/Source/ConformalDecals/DecalIconFixer.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using ConformalDecals.Util; using UnityEngine; namespace ConformalDecals { @@ -12,11 +13,11 @@ namespace ConformalDecals { public void Start() { foreach (var partName in PartNames) { - Debug.Log($"Unf*&king decal preview on {partName}"); + Logging.Log($"Unf*&king decal preview on '{partName}'"); var partInfo = PartLoader.getPartInfoByName(partName); if (partInfo == null) { - Debug.Log($"Part {partName} not found!"); + Logging.LogError($"Part {partName} not found!"); continue; } @@ -28,12 +29,12 @@ namespace ConformalDecals { var backTransform = Part.FindHeirarchyTransform(icon.transform, decalModule.decalBack); if (frontTransform == null) { - Debug.Log($"Part {partName} has no frontTransform"); + Logging.Log($"Part '{partName}' has no frontTransform"); continue; } if (backTransform == null) { - Debug.Log($"Part {partName} has no backTransform"); + Logging.Log($"Part '{partName}' has no backTransform"); continue; } diff --git a/Source/ConformalDecals/DecalPropertyIDs.cs b/Source/ConformalDecals/DecalPropertyIDs.cs index 6c9e13c..5885904 100644 --- a/Source/ConformalDecals/DecalPropertyIDs.cs +++ b/Source/ConformalDecals/DecalPropertyIDs.cs @@ -1,4 +1,5 @@ using UnityEngine; + // ReSharper disable InconsistentNaming namespace ConformalDecals { @@ -12,5 +13,6 @@ namespace ConformalDecals { public static readonly int _DecalTangent = Shader.PropertyToID("_DecalTangent"); public static readonly int _EdgeWearStrength = Shader.PropertyToID("_EdgeWearStrength"); public static readonly int _ProjectionMatrix = Shader.PropertyToID("_ProjectionMatrix"); + public static readonly int _ZWrite = Shader.PropertyToID("_ZWrite"); } } \ No newline at end of file diff --git a/Source/ConformalDecals/MaterialProperties/MaterialKeywordProperty.cs b/Source/ConformalDecals/MaterialProperties/MaterialKeywordProperty.cs new file mode 100644 index 0000000..c9ee240 --- /dev/null +++ b/Source/ConformalDecals/MaterialProperties/MaterialKeywordProperty.cs @@ -0,0 +1,19 @@ +using ConformalDecals.Util; +using UnityEngine; + +namespace ConformalDecals.MaterialProperties { + public class MaterialKeywordProperty : MaterialProperty { + [SerializeField] public bool value = true; + + public override void ParseNode(ConfigNode node) { + base.ParseNode(node); + + ParseUtil.ParseBoolIndirect(ref value, node, "value"); + } + + public override void Modify(Material material) { + if (value) material.EnableKeyword(_propertyName); + else material.DisableKeyword(_propertyName); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/MaterialProperties/MaterialProperty.cs b/Source/ConformalDecals/MaterialProperties/MaterialProperty.cs index 6d792ab..f76f17a 100644 --- a/Source/ConformalDecals/MaterialProperties/MaterialProperty.cs +++ b/Source/ConformalDecals/MaterialProperties/MaterialProperty.cs @@ -14,13 +14,14 @@ namespace ConformalDecals.MaterialProperties { [SerializeField] protected int _propertyID; [SerializeField] protected string _propertyName; + public abstract void Modify(Material material); + public virtual void ParseNode(ConfigNode node) { if (node == null) throw new ArgumentNullException(nameof(node)); PropertyName = node.GetValue("name"); - Debug.Log($"Parsing material property {_propertyName}"); } - public abstract void Modify(Material material); + public virtual void Remove(Material material) { } } } \ No newline at end of file diff --git a/Source/ConformalDecals/MaterialProperties/MaterialPropertyCollection.cs b/Source/ConformalDecals/MaterialProperties/MaterialPropertyCollection.cs index b61912b..579ff23 100644 --- a/Source/ConformalDecals/MaterialProperties/MaterialPropertyCollection.cs +++ b/Source/ConformalDecals/MaterialProperties/MaterialPropertyCollection.cs @@ -30,12 +30,20 @@ namespace ConformalDecals.MaterialProperties { public Shader DecalShader => _shader; + public IEnumerable Materials { + get { + yield return PreviewMaterial; + yield return DecalMaterial; + } + } + public Material DecalMaterial { get { if (_decalMaterial == null) { _decalMaterial = new Material(_shader); _decalMaterial.SetInt(DecalPropertyIDs._Cull, (int) CullMode.Off); + _decalMaterial.SetInt(DecalPropertyIDs._ZWrite, 0); _decalMaterial.renderQueue = RenderQueue; } @@ -50,6 +58,7 @@ namespace ConformalDecals.MaterialProperties { _previewMaterial.EnableKeyword("DECAL_PREVIEW"); _previewMaterial.SetInt(DecalPropertyIDs._Cull, (int) CullMode.Back); + _previewMaterial.SetInt(DecalPropertyIDs._ZWrite, 1); } return _previewMaterial; @@ -69,7 +78,6 @@ namespace ConformalDecals.MaterialProperties { public float AspectRatio => MainTexture == null ? 1 : MainTexture.AspectRatio; public void OnBeforeSerialize() { - Debug.Log($"Serializing MaterialPropertyCollection {this.GetInstanceID()}"); if (_materialProperties == null) throw new SerializationException("Tried to serialize an uninitialized MaterialPropertyCollection"); _serializedNames = _materialProperties.Keys.ToArray(); @@ -77,7 +85,6 @@ namespace ConformalDecals.MaterialProperties { } public void OnAfterDeserialize() { - Debug.Log($"Deserializing MaterialPropertyCollection {this.GetInstanceID()}"); if (_serializedNames == null) throw new SerializationException("ID array is null"); if (_serializedProperties == null) throw new SerializationException("Property array is null"); if (_serializedProperties.Length != _serializedNames.Length) throw new SerializationException("Material property arrays are different lengths."); @@ -95,7 +102,6 @@ namespace ConformalDecals.MaterialProperties { } public void Awake() { - Debug.Log($"MaterialPropertyCollection {this.GetInstanceID()} onAwake"); _materialProperties ??= new Dictionary(); } @@ -145,6 +151,20 @@ namespace ConformalDecals.MaterialProperties { } } + public bool RemoveProperty(string propertyName) { + if (_materialProperties.TryGetValue(propertyName, out var property)) { + foreach (var material in Materials) { + property.Remove(material); + } + _materialProperties.Remove(propertyName); + Destroy(property); + + return true; + } + + return false; + } + public MaterialTextureProperty AddTextureProperty(string propertyName, bool isMain = false) { var newProperty = AddProperty(propertyName); if (isMain) _mainTexture = newProperty; @@ -167,6 +187,8 @@ namespace ConformalDecals.MaterialProperties { string propertyName = ""; if (!ParseUtil.ParseStringIndirect(ref propertyName, node, "name")) throw new ArgumentException("node has no name"); + if (ParseUtil.ParseBool(node, "remove", true)) RemoveProperty(propertyName); + var newProperty = AddOrGetProperty(propertyName); newProperty.ParseNode(node); @@ -180,14 +202,23 @@ namespace ConformalDecals.MaterialProperties { public void SetShader(string shaderName) { if (string.IsNullOrEmpty(shaderName)) { if (_shader == null) { - Debug.Log("Using default decal shader"); - shaderName = "ConformalDecals/Paint/Diffuse"; + Logging.Log("Using default decal shader"); + shaderName = "ConformalDecals/Decal/Standard"; } else { return; } } + if (DecalConfig.IsLegacy(shaderName, out var newShader, out var keywords)) { + Logging.LogWarning($"Part is using shader {shaderName}, which has been replaced by {newShader}."); + shaderName = newShader; + foreach (var keyword in keywords) { + var newProperty = AddOrGetProperty(keyword); + newProperty.value = true; + } + } + var shader = Shabby.Shabby.FindShader(shaderName); if (shader == null) throw new FormatException($"Unable to find specified shader '{shaderName}'"); @@ -209,8 +240,6 @@ namespace ConformalDecals.MaterialProperties { if (_mainTexture == null) throw new InvalidOperationException("UpdateTile called but no main texture is specified!"); var mainTexSize = _mainTexture.Dimensions; - Debug.Log($"Main texture is {_mainTexture.PropertyName} and its size is {mainTexSize}"); - foreach (var entry in _materialProperties) { if (entry.Value is MaterialTextureProperty textureProperty && textureProperty.autoTile) { textureProperty.SetTile(tile, mainTexSize); @@ -244,8 +273,9 @@ namespace ConformalDecals.MaterialProperties { } public void UpdateMaterials() { - UpdateMaterial(DecalMaterial); - UpdateMaterial(PreviewMaterial); + foreach (var material in Materials) { + UpdateMaterial(material); + } } public void UpdateMaterial(Material material) { diff --git a/Source/ConformalDecals/MaterialProperties/MaterialTextureProperty.cs b/Source/ConformalDecals/MaterialProperties/MaterialTextureProperty.cs index fbbeacf..cfd018b 100644 --- a/Source/ConformalDecals/MaterialProperties/MaterialTextureProperty.cs +++ b/Source/ConformalDecals/MaterialProperties/MaterialTextureProperty.cs @@ -10,7 +10,7 @@ namespace ConformalDecals.MaterialProperties { [SerializeField] public bool autoTile; [SerializeField] private string _textureUrl; - [SerializeField] private Texture2D _texture = Texture2D.whiteTexture; + [SerializeField] private Texture2D _texture; [SerializeField] private bool _hasTile; [SerializeField] private Rect _tileRect; @@ -19,7 +19,10 @@ namespace ConformalDecals.MaterialProperties { [SerializeField] private Vector2 _textureOffset; [SerializeField] private Vector2 _textureScale = Vector2.one; - public Texture2D Texture => _texture; + public Texture2D Texture { + get => _texture; + set => _texture = value; + } public string TextureUrl { get => _textureUrl; @@ -55,18 +58,29 @@ namespace ConformalDecals.MaterialProperties { if (ParseUtil.ParseStringIndirect(ref _textureUrl, node, "textureUrl")) { _texture = LoadTexture(_textureUrl, isNormal); } + + if (_texture == null) { + _texture = isNormal ? DecalConfig.BlankNormal : Texture2D.whiteTexture; + } } public override void Modify(Material material) { if (material == null) throw new ArgumentNullException(nameof(material)); if (_texture == null) { - _texture = Texture2D.whiteTexture; - throw new NullReferenceException("texture is null, but should not be"); + _texture = isNormal ? DecalConfig.BlankNormal : Texture2D.whiteTexture; } material.SetTexture(_propertyID, _texture); material.SetTextureOffset(_propertyID, _textureOffset); material.SetTextureScale(_propertyID, _textureScale * _scale); + if (_propertyName != "_Decal") material.EnableKeyword("DECAL" + _propertyName.ToUpper()); + } + + public override void Remove(Material material) { + if (material == null) throw new ArgumentNullException(nameof(material)); + base.Remove(material); + + if (_propertyName != "_Decal") material.DisableKeyword("DECAL" + _propertyName.ToUpper()); } public void SetScale(Vector2 scale) { @@ -94,7 +108,7 @@ namespace ConformalDecals.MaterialProperties { } private static Texture2D LoadTexture(string textureUrl, bool isNormal) { - Debug.Log($"loading texture '{textureUrl}', isNormalMap = {isNormal}"); + //Logging.Log($"loading texture '{textureUrl}', isNormalMap = {isNormal}"); if ((string.IsNullOrEmpty(textureUrl) && isNormal) || textureUrl == "Bump") { return Texture2D.normalTexture; } diff --git a/Source/ConformalDecals/ModuleConformalDecal.cs b/Source/ConformalDecals/ModuleConformalDecal.cs index 578d23b..1ff3b53 100644 --- a/Source/ConformalDecals/ModuleConformalDecal.cs +++ b/Source/ConformalDecals/ModuleConformalDecal.cs @@ -19,7 +19,7 @@ namespace ConformalDecals { // CONFIGURABLE VALUES - [KSPField] public string shader = "ConformalDecals/Paint/Diffuse"; + [KSPField] public string shader = "ConformalDecals/Decal/Standard"; [KSPField] public string decalFront = "Decal-Front"; [KSPField] public string decalBack = "Decal-Back"; @@ -130,7 +130,6 @@ namespace ConformalDecals { /// public override void OnLoad(ConfigNode node) { - this.Log("Loading module"); try { // SETUP TRANSFORMS decalFrontTransform = part.FindModelTransform(decalFront); @@ -150,7 +149,6 @@ namespace ConformalDecals { // SETUP BACK MATERIAL if (updateBackScale) { - this.Log("Getting material and base scale for back material"); var backRenderer = decalBackTransform.GetComponent(); if (backRenderer == null) { this.LogError($"Specified decalBack transform {decalBack} has no renderer attached! Setting updateBackScale to false."); @@ -172,6 +170,12 @@ namespace ConformalDecals { // set shader materialProperties.SetShader(shader); + materialProperties.AddOrGetProperty("DECAL_BASE_NORMAL").value = useBaseNormal; + + // add keyword nodes + foreach (var keywordNode in node.GetNodes("KEYWORD")) { + materialProperties.ParseProperty(keywordNode); + } // add texture nodes foreach (var textureNode in node.GetNodes("TEXTURE")) { @@ -190,7 +194,6 @@ namespace ConformalDecals { // handle texture tiling parameters var tileString = node.GetValue("tile"); - this.Log(tileString); if (!string.IsNullOrEmpty(tileString)) { var tileValid = ParseExtensions.TryParseRect(tileString, out tileRect); if (!tileValid) throw new FormatException($"Invalid rect value for tile '{tileString}'"); @@ -202,9 +205,6 @@ namespace ConformalDecals { else if (tileIndex >= 0) { materialProperties.UpdateTile(tileIndex, tileSize); } - - // QUEUE PART FOR ICON FIXING IN VAB - DecalIconFixer.QueuePart(part.name); } catch (Exception e) { this.LogException("Exception parsing partmodule", e); @@ -212,6 +212,10 @@ namespace ConformalDecals { UpdateMaterials(); + foreach (var keyword in _decalMaterial.shaderKeywords) { + this.Log($"keyword: {keyword}"); + } + if (HighLogic.LoadedSceneIsEditor) { UpdateTweakables(); } @@ -225,6 +229,9 @@ namespace ConformalDecals { opacity = defaultOpacity; cutoff = defaultCutoff; wear = defaultWear; + + // QUEUE PART FOR ICON FIXING IN VAB + DecalIconFixer.QueuePart(part.name); } } @@ -235,14 +242,10 @@ namespace ConformalDecals { /// public override void OnStart(StartState state) { - this.Log("Starting module"); - materialProperties.RenderQueue = DecalQueue; _boundsRenderer = decalProjectorTransform.GetComponent(); - UpdateMaterials(); - // handle tweakables if (HighLogic.LoadedSceneIsEditor) { GameEvents.onEditorPartEvent.Add(OnEditorEvent); @@ -263,13 +266,13 @@ namespace ConformalDecals { OnAttach(); } } - + // handle flight events if (HighLogic.LoadedSceneIsFlight) { GameEvents.onPartWillDie.Add(OnPartWillDie); - + if (part.parent == null) part.explode(); - + Part.layerMask |= 1 << DecalConfig.DecalLayer; decalColliderTransform.gameObject.layer = DecalConfig.DecalLayer; @@ -354,8 +357,8 @@ namespace ConformalDecals { part.Die(); } } - - protected void OnAttach() { + + protected virtual void OnAttach() { if (part.parent == null) { this.LogError("Attach function called but part has no parent!"); _isAttached = false; @@ -364,8 +367,6 @@ namespace ConformalDecals { _isAttached = true; - this.Log($"Decal attached to {part.parent.partName}"); - // hide model decalModelTransform.gameObject.SetActive(false); @@ -380,7 +381,7 @@ namespace ConformalDecals { UpdateScale(); } - protected void OnDetach() { + protected virtual void OnDetach() { _isAttached = false; // unhide model @@ -405,10 +406,10 @@ namespace ConformalDecals { switch (scaleMode) { default: case DecalScaleMode.HEIGHT: - size = new Vector2(scale, scale * aspectRatio); + size = new Vector2(scale / aspectRatio, scale); break; case DecalScaleMode.WIDTH: - size = new Vector2(scale / aspectRatio, scale); + size = new Vector2(scale, scale * aspectRatio); break; case DecalScaleMode.AVERAGE: var width1 = 2 * scale / (1 + aspectRatio); @@ -453,7 +454,7 @@ namespace ConformalDecals { } } - protected void UpdateMaterials() { + protected virtual void UpdateMaterials() { materialProperties.UpdateMaterials(); materialProperties.SetOpacity(opacity); materialProperties.SetCutoff(cutoff); @@ -497,7 +498,7 @@ namespace ConformalDecals { } } - protected void UpdateTweakables() { + protected virtual void UpdateTweakables() { // setup tweakable fields var scaleField = Fields[nameof(scale)]; var depthField = Fields[nameof(depth)]; @@ -511,7 +512,7 @@ namespace ConformalDecals { cutoffField.guiActiveEditor = cutoffAdjustable; wearField.guiActiveEditor = useBaseNormal; - var steps = 20; + var steps = 40; if (scaleAdjustable) { var minValue = Mathf.Max(Mathf.Epsilon, scaleRange.x); diff --git a/Source/ConformalDecals/ModuleConformalText.cs b/Source/ConformalDecals/ModuleConformalText.cs new file mode 100644 index 0000000..3b8e5d2 --- /dev/null +++ b/Source/ConformalDecals/ModuleConformalText.cs @@ -0,0 +1,307 @@ +using ConformalDecals.MaterialProperties; +using ConformalDecals.Text; +using ConformalDecals.UI; +using ConformalDecals.Util; +using TMPro; +using UnityEngine; + +namespace ConformalDecals { + public class ModuleConformalText : ModuleConformalDecal, ISerializationCallbackReceiver { + [KSPField(isPersistant = true)] public string text = "Text"; + + [KSPField] public Vector2 lineSpacingRange = new Vector2(-50, 50); + [KSPField] public Vector2 charSpacingRange = new Vector2(-50, 50); + + // serialization-only fields. do not use except in serialization functions + [KSPField(isPersistant = true)] public string fontName = "Calibri SDF"; + [KSPField(isPersistant = true)] public int style; + [KSPField(isPersistant = true)] public bool vertical; + [KSPField(isPersistant = true)] public float lineSpacing; + [KSPField(isPersistant = true)] public float charSpacing; + [KSPField(isPersistant = true)] public string fillColor = "000000FF"; + [KSPField(isPersistant = true)] public string outlineColor = "FFFFFFFF"; + + // KSP TWEAKABLES + + [KSPEvent(guiName = "#LOC_ConformalDecals_gui-set-text", guiActive = false, guiActiveEditor = true)] + public void SetText() { + if (_textEntryController == null) { + _textEntryController = TextEntryController.Create(text, _font, _style, lineSpacingRange, charSpacingRange, OnTextUpdate); + } + else { + _textEntryController.Close(); + } + } + + // FILL + + [KSPField(guiName = "#LOC_ConformalDecals_gui-fill", groupName = "decal-fill", groupDisplayName = "#LOC_ConformalDecals_gui-group-fill", + guiActive = false, guiActiveEditor = true, isPersistant = true), + UI_Toggle()] + public bool fillEnabled = true; + + [KSPEvent(guiName = "#LOC_ConformalDecals_gui-set-fill-color", groupName = "decal-fill", groupDisplayName = "#LOC_ConformalDecals_gui-group-fill", + guiActive = false, guiActiveEditor = true)] + public void SetFillColor() { + if (_fillColorPickerController == null) { + _fillColorPickerController = ColorPickerController.Create(_fillColor, OnFillColorUpdate); + } + else { + _fillColorPickerController.Close(); + } + } + + // OUTLINE + + [KSPField(guiName = "#LOC_ConformalDecals_gui-outline", groupName = "decal-outline", groupDisplayName = "#LOC_ConformalDecals_gui-group-outline", + guiActive = false, guiActiveEditor = true, isPersistant = true), + UI_Toggle()] + public bool outlineEnabled; + + [KSPField(guiName = "#LOC_ConformalDecals_gui-outline-width", groupName = "decal-outline", groupDisplayName = "#LOC_ConformalDecals_gui-group-outline", + guiActive = false, guiActiveEditor = true, isPersistant = true, guiFormat = "F2"), + UI_FloatRange(stepIncrement = 0.05f)] + public float outlineWidth = 0.1f; + + [KSPEvent(guiName = "#LOC_ConformalDecals_gui-set-outline-color", groupName = "decal-outline", groupDisplayName = "#LOC_ConformalDecals_gui-group-outline", + guiActive = false, guiActiveEditor = true)] + public void SetOutlineColor() { + if (_outlineColorPickerController == null) { + _outlineColorPickerController = ColorPickerController.Create(_outlineColor, OnOutlineColorUpdate); + } + else { + _outlineColorPickerController.Close(); + } + } + + private DecalTextStyle _style; + private DecalFont _font; + private Color32 _fillColor; + private Color32 _outlineColor; + + private TextEntryController _textEntryController; + private ColorPickerController _fillColorPickerController; + private ColorPickerController _outlineColorPickerController; + + private MaterialTextureProperty _decalTextureProperty; + + private MaterialKeywordProperty _fillEnabledProperty; + private MaterialColorProperty _fillColorProperty; + + private MaterialKeywordProperty _outlineEnabledProperty; + private MaterialColorProperty _outlineColorProperty; + private MaterialFloatProperty _outlineWidthProperty; + + private TextRenderJob _currentJob; + private DecalText _currentText; + + public override void OnLoad(ConfigNode node) { + base.OnLoad(node); + OnAfterDeserialize(); + + UpdateTextRecursive(); + } + + public override void OnSave(ConfigNode node) { + OnBeforeSerialize(); + base.OnSave(node); + } + + public override void OnStart(StartState state) { + base.OnStart(state); + + UpdateTextRecursive(); + } + + public override void OnAwake() { + base.OnAwake(); + + _decalTextureProperty = materialProperties.AddOrGetTextureProperty("_Decal", true); + + _fillEnabledProperty = materialProperties.AddOrGetProperty("DECAL_FILL"); + _fillColorProperty = materialProperties.AddOrGetProperty("_DecalColor"); + + _outlineEnabledProperty = materialProperties.AddOrGetProperty("DECAL_OUTLINE"); + _outlineColorProperty = materialProperties.AddOrGetProperty("_OutlineColor"); + _outlineWidthProperty = materialProperties.AddOrGetProperty("_OutlineWidth"); + } + + public void OnTextUpdate(string newText, DecalFont newFont, DecalTextStyle newStyle) { + text = newText; + _font = newFont; + _style = newStyle; + UpdateTextRecursive(); + } + + public void OnFillColorUpdate(Color rgb, Util.ColorHSV hsv) { + _fillColor = rgb; + UpdateMaterials(); + + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal._fillColor = _fillColor; + decal.UpdateMaterials(); + } + } + + public void OnOutlineColorUpdate(Color rgb, Util.ColorHSV hsv) { + _outlineColor = rgb; + UpdateMaterials(); + + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal._outlineColor = _outlineColor; + decal.UpdateMaterials(); + } + } + + public void OnFillToggle(BaseField field, object obj) { + // fill and outline cant both be disabled + outlineEnabled = outlineEnabled || (!outlineEnabled && !fillEnabled); + + UpdateTweakables(); + UpdateMaterials(); + + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal.fillEnabled = fillEnabled; + decal.outlineEnabled = outlineEnabled; + decal.UpdateTweakables(); + decal.UpdateMaterials(); + } + } + + public void OnOutlineToggle(BaseField field, object obj) { + // fill and outline cant both be disabled + fillEnabled = fillEnabled || (!fillEnabled && !outlineEnabled); + + UpdateTweakables(); + UpdateMaterials(); + + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal.fillEnabled = fillEnabled; + decal.outlineEnabled = outlineEnabled; + decal.UpdateTweakables(); + decal.UpdateMaterials(); + } + } + + public void OnOutlineWidthUpdate(BaseField field, object obj) { + UpdateMaterials(); + + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal.outlineWidth = outlineWidth; + decal.UpdateMaterials(); + } + } + + public void OnBeforeSerialize() { + fontName = _font.Name; + style = (int) _style.FontStyle; + vertical = _style.Vertical; + lineSpacing = _style.LineSpacing; + charSpacing = _style.CharSpacing; + fillColor = _fillColor.ToHexString(); + outlineColor = _outlineColor.ToHexString(); + } + + public void OnAfterDeserialize() { + _font = DecalConfig.GetFont(fontName); + _style = new DecalTextStyle((FontStyles) style, vertical, lineSpacing, charSpacing); + + if (!ParseUtil.TryParseColor32(fillColor, out _fillColor)) { + Logging.LogWarning($"Improperly formatted color value for fill: '{fillColor}'"); + _fillColor = Color.magenta; + } + + if (!ParseUtil.TryParseColor32(outlineColor, out _outlineColor)) { + Logging.LogWarning($"Improperly formatted color value for outline: '{outlineColor}'"); + _outlineColor = Color.magenta; + } + } + + public override void OnDestroy() { + if (HighLogic.LoadedSceneIsGame && _currentText != null) TextRenderer.UnregisterText(_currentText); + + base.OnDestroy(); + } + + protected override void OnDetach() { + // close all UIs + if (_textEntryController != null) _textEntryController.Close(); + if (_fillColorPickerController != null) _fillColorPickerController.Close(); + if (_outlineColorPickerController != null) _outlineColorPickerController.Close(); + + base.OnDetach(); + } + + private void UpdateTextRecursive() { + UpdateText(); + + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal.text = text; + decal._font = _font; + decal._style = _style; + + decal._currentJob = _currentJob; + decal._currentText = _currentText; + decal.UpdateText(); + } + } + + private void UpdateText() { + // Render text + var newText = new DecalText(text, _font, _style); + var output = TextRenderer.UpdateTextNow(_currentText, newText); + _currentText = newText; + + UpdateTexture(output); + + // TODO: ASYNC RENDERING + // var newText = new DecalText(text, _font, _style); + // _currentJob = TextRenderer.UpdateText(_currentText, newText, UpdateTexture); + // _currentText = newText; + } + + public void UpdateTexture(TextRenderOutput output) { + _decalTextureProperty.Texture = output.Texture; + _decalTextureProperty.SetTile(output.Window); + + UpdateMaterials(); + UpdateScale(); + } + + protected override void UpdateMaterials() { + _fillEnabledProperty.value = fillEnabled; + _fillColorProperty.color = _fillColor; + + _outlineEnabledProperty.value = outlineEnabled; + _outlineColorProperty.color = _outlineColor; + _outlineWidthProperty.value = outlineWidth; + + base.UpdateMaterials(); + } + + protected override void UpdateTweakables() { + var fillEnabledField = Fields[nameof(fillEnabled)]; + var fillColorEvent = Events["SetFillColor"]; + + var outlineEnabledField = Fields[nameof(outlineEnabled)]; + var outlineWidthField = Fields[nameof(outlineWidth)]; + var outlineColorEvent = Events["SetOutlineColor"]; + + fillColorEvent.guiActiveEditor = fillEnabled; + outlineWidthField.guiActiveEditor = outlineEnabled; + outlineColorEvent.guiActiveEditor = outlineEnabled; + + ((UI_Toggle) fillEnabledField.uiControlEditor).onFieldChanged = OnFillToggle; + ((UI_Toggle) outlineEnabledField.uiControlEditor).onFieldChanged = OnOutlineToggle; + ((UI_FloatRange) outlineWidthField.uiControlEditor).onFieldChanged = OnOutlineWidthUpdate; + + base.UpdateTweakables(); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Properties/AssemblyInfo.cs b/Source/ConformalDecals/Properties/AssemblyInfo.cs index 27895b0..3eab961 100644 --- a/Source/ConformalDecals/Properties/AssemblyInfo.cs +++ b/Source/ConformalDecals/Properties/AssemblyInfo.cs @@ -5,7 +5,7 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Conformal Decals")] +[assembly: AssemblyTitle("ConformalDecals")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Cineboxandrew")] diff --git a/Source/ConformalDecals/Test/TestLayers.cs b/Source/ConformalDecals/Test/TestLayers.cs deleted file mode 100644 index 50e413a..0000000 --- a/Source/ConformalDecals/Test/TestLayers.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using UnityEngine; - -namespace ConformalDecals.Test { - public class TestLayers : PartModule { - - [KSPField(guiActive = true)] - public int layer = 2; - - public override void OnStart(StartState state) { - base.OnStart(state); - - - Part.layerMask.value |= (1 << 3); - } - - public void Update() { - foreach (var collider in GameObject.FindObjectsOfType()) { - if (collider.gameObject.layer == 3) { - Debug.Log($"Has layer 3: {collider.gameObject.name}"); - } - } - } - - [KSPEvent(guiActive = true, guiActiveEditor = true, guiName = "switch layers")] - public void Switch() { - Debug.Log(Part.layerMask.value); - - var cube = part.FindModelTransform("test"); - layer = (layer + 1) % 32; - cube.gameObject.layer = layer; - } - } -} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/DecalFont.cs b/Source/ConformalDecals/Text/DecalFont.cs new file mode 100644 index 0000000..efa0b6e --- /dev/null +++ b/Source/ConformalDecals/Text/DecalFont.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using ConformalDecals.Util; +using TMPro; +using UniLinq; + +namespace ConformalDecals.Text { + public class DecalFont : IEquatable { + /// Human-readable name for the font + public string Title { get; } + + /// Internal name for the font + public string Name => FontAsset.name; + + /// The font asset itself + public TMP_FontAsset FontAsset { get; } + + /// Styles that are forced on for this font, + /// e.g. smallcaps for a font without lower case characters + public FontStyles FontStyle { get; } + + public bool Bold => (FontStyle & FontStyles.Bold) != 0; + + public bool Italic => (FontStyle & FontStyles.Italic) != 0; + + public bool Underline => (FontStyle & FontStyles.Underline) != 0; + + public bool SmallCaps => (FontStyle & FontStyles.SmallCaps) != 0; + + /// Styles that are forced off for this font, + /// e.g. underline for a font with no underscore character + public FontStyles FontStyleMask { get; } + + public bool BoldMask => (FontStyleMask & FontStyles.Bold) != 0; + + public bool ItalicMask => (FontStyleMask & FontStyles.Italic) != 0; + + public bool UnderlineMask => (FontStyleMask & FontStyles.Underline) != 0; + + public bool SmallCapsMask => (FontStyleMask & FontStyles.SmallCaps) != 0; + + + public DecalFont(ConfigNode node, IEnumerable fontAssets) { + if (node == null) throw new ArgumentNullException(nameof(node)); + if (fontAssets == null) throw new ArgumentNullException(nameof(fontAssets)); + + var name = ParseUtil.ParseString(node, "name"); + FontAsset = fontAssets.First(o => o.name == name); + if (FontAsset == null) { + throw new FormatException($"Could not find font asset named {name}"); + } + + Title = ParseUtil.ParseString(node, "title", true, name); + FontStyle = (FontStyles) ParseUtil.ParseInt(node, "style", true); + FontStyleMask = (FontStyles) ParseUtil.ParseInt(node, "styleMask", true); + } + + + public void SetupSample(TMP_Text tmp) { + if (tmp == null) throw new ArgumentNullException(nameof(tmp)); + if (FontAsset == null) throw new InvalidOperationException("DecalFont has not been initialized and Font is null."); + + tmp.text = Title; + tmp.font = FontAsset; + tmp.fontStyle = FontStyle; + } + + public bool Equals(DecalFont other) { + if (ReferenceEquals(null, other)) return false; + if (ReferenceEquals(this, other)) return true; + return Title == other.Title && Equals(FontAsset, other.FontAsset) && FontStyle == other.FontStyle && FontStyleMask == other.FontStyleMask; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(null, obj)) return false; + if (ReferenceEquals(this, obj)) return true; + if (obj.GetType() != this.GetType()) return false; + return Equals((DecalFont) obj); + } + + public override int GetHashCode() { + unchecked { + var hashCode = (Title != null ? Title.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (FontAsset != null ? FontAsset.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (int) FontStyle; + hashCode = (hashCode * 397) ^ (int) FontStyleMask; + return hashCode; + } + } + + public static bool operator ==(DecalFont left, DecalFont right) { + return Equals(left, right); + } + + public static bool operator !=(DecalFont left, DecalFont right) { + return !Equals(left, right); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/DecalText.cs b/Source/ConformalDecals/Text/DecalText.cs new file mode 100644 index 0000000..c974292 --- /dev/null +++ b/Source/ConformalDecals/Text/DecalText.cs @@ -0,0 +1,64 @@ +using System; +using System.Text.RegularExpressions; + +namespace ConformalDecals.Text { + public class DecalText : IEquatable { + /// Raw text contents + public string Text { get; } + + /// Font asset used by this text snippet + public DecalFont Font { get; } + + /// Style used by this text snippet + public DecalTextStyle Style { get; } + + /// The text formatted with newlines for vertical text + public string FormattedText { + get { + if (Style.Vertical) { + return Regex.Replace(Text, @"(.)", "$1\n"); + } + else { + return Text; + } + } + } + + public DecalText(string text, DecalFont font, DecalTextStyle style) { + if (font == null) throw new ArgumentNullException(nameof(font)); + Text = text; + Font = font; + Style = style; + } + + public bool Equals(DecalText other) { + if (ReferenceEquals(null, other)) return false; + if (ReferenceEquals(this, other)) return true; + return Text == other.Text && Equals(Font, other.Font) && Style.Equals(other.Style); + } + + public override bool Equals(object obj) { + if (ReferenceEquals(null, obj)) return false; + if (ReferenceEquals(this, obj)) return true; + if (obj.GetType() != this.GetType()) return false; + return Equals((DecalText) obj); + } + + public override int GetHashCode() { + unchecked { + var hashCode = (Text != null ? Text.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (Font != null ? Font.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ Style.GetHashCode(); + return hashCode; + } + } + + public static bool operator ==(DecalText left, DecalText right) { + return Equals(left, right); + } + + public static bool operator !=(DecalText left, DecalText right) { + return !Equals(left, right); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/DecalTextStyle.cs b/Source/ConformalDecals/Text/DecalTextStyle.cs new file mode 100644 index 0000000..ac55fc3 --- /dev/null +++ b/Source/ConformalDecals/Text/DecalTextStyle.cs @@ -0,0 +1,101 @@ +using System; +using TMPro; +using UnityEngine; + +// ReSharper disable NonReadonlyMemberInGetHashCode + +namespace ConformalDecals.Text { + public struct DecalTextStyle : IEquatable { + private FontStyles _fontStyle; + private bool _vertical; + private float _lineSpacing; + private float _charSpacing; + + public FontStyles FontStyle { + get => _fontStyle; + set => _fontStyle = value; + } + + public bool Bold { + get => (FontStyle & FontStyles.Bold) != 0; + set { + if (value) FontStyle |= FontStyles.Bold; + else FontStyle &= ~FontStyles.Bold; + } + } + + public bool Italic { + get => (FontStyle & FontStyles.Italic) != 0; + set { + if (value) FontStyle |= FontStyles.Italic; + else FontStyle &= ~FontStyles.Italic; + } + } + + public bool Underline { + get => (FontStyle & FontStyles.Underline) != 0; + set { + if (value) FontStyle |= FontStyles.Underline; + else FontStyle &= ~FontStyles.Underline; + } + } + + public bool SmallCaps { + get => (FontStyle & FontStyles.SmallCaps) != 0; + set { + if (value) FontStyle |= FontStyles.SmallCaps; + else FontStyle &= ~FontStyles.SmallCaps; + } + } + + public bool Vertical { + get => _vertical; + set => _vertical = value; + } + + public float LineSpacing { + get => _lineSpacing; + set => _lineSpacing = value; + } + + public float CharSpacing { + get => _charSpacing; + set => _charSpacing = value; + } + + public DecalTextStyle(FontStyles fontStyle, bool vertical, float lineSpacing, float charSpacing) { + _fontStyle = fontStyle; + _vertical = vertical; + _lineSpacing = lineSpacing; + _charSpacing = charSpacing; + } + + public bool Equals(DecalTextStyle other) { + return FontStyle == other.FontStyle && Vertical == other.Vertical && + Mathf.Approximately(LineSpacing, other.LineSpacing) && + Mathf.Approximately(CharSpacing, other.CharSpacing); + } + + public override bool Equals(object obj) { + return obj is DecalTextStyle other && Equals(other); + } + + public override int GetHashCode() { + unchecked { + var hashCode = (int) FontStyle; + hashCode = (hashCode * 397) ^ Vertical.GetHashCode(); + hashCode = (hashCode * 397) ^ LineSpacing.GetHashCode(); + hashCode = (hashCode * 397) ^ CharSpacing.GetHashCode(); + return hashCode; + } + } + + public static bool operator ==(DecalTextStyle left, DecalTextStyle right) { + return left.Equals(right); + } + + public static bool operator !=(DecalTextStyle left, DecalTextStyle right) { + return !left.Equals(right); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/FontLoader.cs b/Source/ConformalDecals/Text/FontLoader.cs new file mode 100644 index 0000000..1fe5863 --- /dev/null +++ b/Source/ConformalDecals/Text/FontLoader.cs @@ -0,0 +1,38 @@ +using System.IO; +using System.Collections; +using System.Collections.Generic; +using ConformalDecals.Util; +using TMPro; +using UniLinq; +using UnityEngine; + +namespace ConformalDecals.Text { + /// KSP database loader for KSPFont files which contain TextMeshPro font assets + [DatabaseLoaderAttrib(new[] {"kspfont"})] + public class FontLoader : DatabaseLoader { + private const string FallbackName = "NotoSans-Regular SDF"; + private static TMP_FontAsset _fallbackFont; + + public override IEnumerator Load(UrlDir.UrlFile urlFile, FileInfo fileInfo) { + if (_fallbackFont == null) { + _fallbackFont = Resources.FindObjectsOfTypeAll().First(o => o.name == FallbackName); + if (_fallbackFont == null) Logging.LogError($"Could not find fallback font '{FallbackName}'"); + } + + Logging.Log($"Loading font file '{urlFile.fullPath}'"); + var bundle = AssetBundle.LoadFromFile(urlFile.fullPath); + if (!bundle) { + Logging.Log($"Could not load font asset {urlFile.fullPath}"); + } + else { + var loadedFonts = bundle.LoadAllAssets(); + foreach (var font in loadedFonts) { + Logging.Log($"Adding font {font.name}"); + font.fallbackFontAssets.Add(_fallbackFont); + } + } + + yield break; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/TextRenderJob.cs b/Source/ConformalDecals/Text/TextRenderJob.cs new file mode 100644 index 0000000..475de9b --- /dev/null +++ b/Source/ConformalDecals/Text/TextRenderJob.cs @@ -0,0 +1,35 @@ +using System; +using UnityEngine.Events; + +namespace ConformalDecals.Text { + public class TextRenderJob { + public DecalText OldText { get; } + public DecalText NewText { get; } + public bool Needed { get; private set; } + public bool IsStarted { get; private set; } + public bool IsDone { get; private set; } + + public readonly TextRenderer.TextRenderEvent onRenderFinished = new TextRenderer.TextRenderEvent(); + + public TextRenderJob(DecalText oldText, DecalText newText, UnityAction renderFinishedCallback) { + OldText = oldText; + NewText = newText ?? throw new ArgumentNullException(nameof(newText)); + Needed = true; + + if (renderFinishedCallback != null) onRenderFinished.AddListener(renderFinishedCallback); + } + + public void Cancel() { + Needed = false; + } + + public void Start() { + IsStarted = true; + } + + public void Finish(TextRenderOutput output) { + IsDone = true; + onRenderFinished.Invoke(output); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/TextRenderOutput.cs b/Source/ConformalDecals/Text/TextRenderOutput.cs new file mode 100644 index 0000000..210e14a --- /dev/null +++ b/Source/ConformalDecals/Text/TextRenderOutput.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +namespace ConformalDecals.Text { + /// Texture render output, used for cacheing and is the datastructure returned to the ModuleConformalText class + public class TextRenderOutput { + /// Texture with the rendered text + public Texture2D Texture { get; private set; } + + /// The rectangle that the rendered text takes up within the texture + public Rect Window { get; private set; } + + /// The number of users for this render output. If 0, it can be discarded from the cache and the texture reused + public int UserCount { get; set; } + + public TextRenderOutput(Texture2D texture, Rect window) { + Texture = texture; + Window = window; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Text/TextRenderer.cs b/Source/ConformalDecals/Text/TextRenderer.cs new file mode 100644 index 0000000..5f25400 --- /dev/null +++ b/Source/ConformalDecals/Text/TextRenderer.cs @@ -0,0 +1,276 @@ +using System; +using System.Collections.Generic; +using ConformalDecals.Util; +using TMPro; +using UnityEngine; +using UnityEngine.Events; + +namespace ConformalDecals.Text { + // TODO: Testing shows the job system is unnecessary, so remove job system code. + + /// Class handing text rendering. + /// Is a singleton referencing a single gameobject in the scene which contains the TextMeshPro component + [KSPAddon(KSPAddon.Startup.Instantly, true)] + public class TextRenderer : MonoBehaviour { + /// Texture format used for returned textures. + /// Unfortunately due to how Unity textures work, this cannot be R8 or Alpha8, + /// so theres always a superfluous green channel using memory + public const TextureFormat TextTextureFormat = TextureFormat.RG16; + + /// Render Texture format used when rendering + public const RenderTextureFormat TextRenderTextureFormat = RenderTextureFormat.R8; + + /// The text renderer object within the scene which contains the TextMeshPro component used for rendering. + public static TextRenderer Instance { + get { + if (!_instance._isSetup) { + _instance.Setup(); + } + + return _instance; + } + } + + /// Text Render unityevent, used with the job system to signal render completion + [Serializable] + public class TextRenderEvent : UnityEvent { } + + private const string ShaderName = "ConformalDecals/Text Blit"; + private const int MaxTextureSize = 4096; + private const float FontSize = 100; + private const float PixelDensity = 5; + + private static TextRenderer _instance; + + private bool _isSetup; + private TextMeshPro _tmp; + private Shader _blitShader; + + private static readonly Dictionary RenderCache = new Dictionary(); + private static readonly Queue RenderJobs = new Queue(); + + /// Update text using the job queue + public static TextRenderJob UpdateText(DecalText oldText, DecalText newText, UnityAction renderFinishedCallback) { + if (newText == null) throw new ArgumentNullException(nameof(newText)); + + var job = new TextRenderJob(oldText, newText, renderFinishedCallback); + RenderJobs.Enqueue(job); + return job; + } + + /// Update text immediately without using job queue + public static TextRenderOutput UpdateTextNow(DecalText oldText, DecalText newText) { + if (newText == null) throw new ArgumentNullException(nameof(newText)); + + return Instance.RunJob(new TextRenderJob(oldText, newText, null), out _); + } + + /// Unregister a user of a piece of text + public static void UnregisterText(DecalText text) { + if (RenderCache.TryGetValue(text, out var renderedText)) { + renderedText.UserCount--; + if (renderedText.UserCount <= 0) { + RenderCache.Remove(text); + Destroy(renderedText.Texture); + } + } + } + + private void Start() { + if (_instance != null) { + Logging.LogError("Duplicate TextRenderer created???"); + } + + Logging.Log("Creating TextRenderer Object"); + _instance = this; + DontDestroyOnLoad(gameObject); + } + + /// Setup this text renderer instance for rendering + private void Setup() { + if (_isSetup) return; + + Logging.Log("Setting Up TextRenderer Object"); + + _tmp = gameObject.AddComponent(); + _tmp.renderer.enabled = false; // dont automatically render + + _blitShader = Shabby.Shabby.FindShader(ShaderName); + if (_blitShader == null) Logging.LogError($"Could not find text blit shader named '{ShaderName}'"); + + _isSetup = true; + } + + /// Run a text render job + private TextRenderOutput RunJob(TextRenderJob job, out bool renderNeeded) { + if (!job.Needed) { + renderNeeded = false; + return null; + } + + job.Start(); + + Texture2D texture = null; + if (job.OldText != null && RenderCache.TryGetValue(job.OldText, out var oldRender)) { + // old output still exists + + oldRender.UserCount--; + + if (oldRender.UserCount <= 0) { + // this is the only usage of this output, so we are free to re-render into the texture + + texture = oldRender.Texture; + RenderCache.Remove(job.OldText); + } + } + + // now that all old references are handled, begin rendering the new output + + if (RenderCache.TryGetValue(job.NewText, out var renderOutput)) { + renderNeeded = false; + } + else { + renderNeeded = true; + + renderOutput = RenderText(job.NewText, texture); + RenderCache.Add(job.NewText, renderOutput); + } + + renderOutput.UserCount++; + + job.Finish(renderOutput); + return renderOutput; + } + + /// Render a piece of text to a given texture + public TextRenderOutput RenderText(DecalText text, Texture2D texture) { + if (text == null) throw new ArgumentNullException(nameof(text)); + if (_tmp == null) throw new InvalidOperationException("TextMeshPro object not yet created."); + + // SETUP TMP OBJECT FOR RENDERING + _tmp.text = text.FormattedText; + _tmp.font = text.Font.FontAsset; + _tmp.fontStyle = text.Style.FontStyle | text.Font.FontStyle; + _tmp.lineSpacing = text.Style.LineSpacing; + _tmp.characterSpacing = text.Style.CharSpacing; + + _tmp.extraPadding = true; + _tmp.enableKerning = true; + _tmp.enableWordWrapping = false; + _tmp.overflowMode = TextOverflowModes.Overflow; + _tmp.alignment = TextAlignmentOptions.Center; + _tmp.fontSize = FontSize; + + // GENERATE MESH + _tmp.ClearMesh(false); + _tmp.ForceMeshUpdate(); + + var meshFilters = gameObject.GetComponentsInChildren(); + var meshes = new Mesh[meshFilters.Length]; + var materials = new Material[meshFilters.Length]; + + var bounds = new Bounds(); + + // SETUP MATERIALS AND BOUNDS + for (int i = 0; i < meshFilters.Length; i++) { + var renderer = meshFilters[i].gameObject.GetComponent(); + + meshes[i] = meshFilters[i].mesh; + if (i == 0) meshes[i] = _tmp.mesh; + + materials[i] = Instantiate(renderer.material); + materials[i].shader = _blitShader; + + if (renderer == null) throw new FormatException($"Object {meshFilters[i].gameObject.name} has filter but no renderer"); + if (meshes[i] == null) throw new FormatException($"Object {meshFilters[i].gameObject.name} has a null mesh"); + + if (i == 0) { + bounds = meshes[i].bounds; + } + else { + bounds.Encapsulate(meshes[i].bounds); + } + } + + // CALCULATE SIZES + var size = bounds.size * PixelDensity; + var textureSize = new Vector2Int { + x = Mathf.NextPowerOfTwo((int) size.x), + y = Mathf.NextPowerOfTwo((int) size.y) + }; + + if (textureSize.x == 0 || textureSize.y == 0) { + Logging.LogWarning("No text present or error in texture size calculation. Aborting."); + return new TextRenderOutput(Texture2D.blackTexture, Rect.zero); + } + + // make sure texture isnt too big, scale it down if it is + // this is just so you dont crash the game by pasting in the entire script of The Bee Movie + if (textureSize.x > MaxTextureSize) { + textureSize.y /= textureSize.x / MaxTextureSize; + textureSize.x = MaxTextureSize; + } + + if (textureSize.y > MaxTextureSize) { + textureSize.x /= textureSize.y / MaxTextureSize; + textureSize.y = MaxTextureSize; + } + + // scale up everything to fit the texture for maximum usage + float sizeRatio = Mathf.Min(textureSize.x / size.x, textureSize.y / size.y); + + // calculate where in the texture the used area actually is + var window = new Rect { + size = size * sizeRatio, + center = (Vector2) textureSize / 2 + }; + + // SETUP TEXTURE + if (texture == null) { + texture = new Texture2D(textureSize.x, textureSize.y, TextTextureFormat, true); + } + else if (texture.width != textureSize.x || texture.height != textureSize.y || texture.format != TextTextureFormat) { + texture.Resize(textureSize.x, textureSize.y, TextTextureFormat, true); + } + + // GENERATE PROJECTION MATRIX + var halfSize = (Vector2) textureSize / PixelDensity / 2 / sizeRatio; + var matrix = Matrix4x4.Ortho(bounds.center.x - halfSize.x, bounds.center.x + halfSize.x, + bounds.center.y - halfSize.y, bounds.center.y + halfSize.y, -1, 1); + + // GET RENDERTEX + var renderTex = RenderTexture.GetTemporary(textureSize.x, textureSize.y, 0, TextRenderTextureFormat, RenderTextureReadWrite.Linear, 1); + renderTex.autoGenerateMips = false; + + // RENDER + Graphics.SetRenderTarget(renderTex); + GL.PushMatrix(); + GL.LoadProjectionMatrix(matrix); + GL.Clear(false, true, Color.black); + + for (var i = 0; i < meshes.Length; i++) { + if (meshes[i].vertexCount >= 3) { + materials[i].SetPass(0); + Graphics.DrawMeshNow(meshes[i], Matrix4x4.identity); + } + } + + GL.PopMatrix(); + + // COPY TEXTURE BACK INTO RAM + RenderTexture.active = renderTex; + texture.ReadPixels(new Rect(0, 0, textureSize.x, textureSize.y), 0, 0, true); + texture.Apply(); + + // RELEASE RENDERTEX + RenderTexture.ReleaseTemporary(renderTex); + + // CLEAR SUBMESHES + for (int i = 0; i < transform.childCount; i++) { + Destroy(transform.GetChild(i).gameObject); + } + + return new TextRenderOutput(texture, window); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/BoxSlider.cs b/Source/ConformalDecals/UI/BoxSlider.cs new file mode 100644 index 0000000..7097bc6 --- /dev/null +++ b/Source/ConformalDecals/UI/BoxSlider.cs @@ -0,0 +1,176 @@ +using System; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + [AddComponentMenu("UI/BoxSlider", 35)] + [RequireComponent(typeof(RectTransform))] + public class BoxSlider : Selectable, IDragHandler, IInitializePotentialDragHandler, ICanvasElement { + [Serializable] + public class BoxSliderEvent : UnityEvent { } + + [SerializeField] private RectTransform _handleRect; + [SerializeField] private Vector2 _value = Vector2.zero; + + public RectTransform HandleRect { + get => _handleRect; + set { + if (value == null) throw new ArgumentNullException(nameof(value)); + if (value != _handleRect) { + _handleRect = value; + UpdateCachedReferences(); + UpdateVisuals(); + } + } + } + + public Vector2 Value { + get => _value; + set { + _value = value; + _onValueChanged.Invoke(value); + UpdateVisuals(); + } + } + + [Space(6)] + + // Allow for delegate-based subscriptions for faster events than 'eventReceiver', and allowing for multiple receivers. + [SerializeField] + private BoxSliderEvent _onValueChanged = new BoxSliderEvent(); + + public BoxSliderEvent OnValueChanged { + get => _onValueChanged; + set => _onValueChanged = value; + } + + // Private fields + + private Transform _handleTransform; + private RectTransform _handleContainerRect; + + // The offset from handle position to mouse down position + private Vector2 _offset = Vector2.zero; + +#if UNITY_EDITOR + protected override void OnValidate() { + base.OnValidate(); + + //Onvalidate is called before OnEnabled. We need to make sure not to touch any other objects before OnEnable is run. + if (IsActive()) { + UpdateCachedReferences(); + // Update rects since other things might affect them even if value didn't change. + UpdateVisuals(); + } + +#if UNITY_2018_3_OR_NEWER + + if (!UnityEditor.PrefabUtility.IsPartOfPrefabAsset(this) && !Application.isPlaying) + CanvasUpdateRegistry.RegisterCanvasElementForLayoutRebuild(this); + +#else + var prefabType = UnityEditor.PrefabUtility.GetPrefabType(this); + if (prefabType != UnityEditor.PrefabType.Prefab && !Application.isPlaying) + CanvasUpdateRegistry.RegisterCanvasElementForLayoutRebuild(this); +#endif + } +#endif // if UNITY_EDITOR + + public virtual void Rebuild(CanvasUpdate executing) { +#if UNITY_EDITOR + if (executing == CanvasUpdate.Prelayout) + OnValueChanged.Invoke(Value); +#endif + } + + public void LayoutComplete() { } + + public void GraphicUpdateComplete() { } + + protected override void OnEnable() { + base.OnEnable(); + UpdateCachedReferences(); + // Update rects since they need to be initialized correctly. + UpdateVisuals(); + } + + private void UpdateCachedReferences() { + if (_handleRect) { + _handleTransform = _handleRect.transform; + if (_handleTransform.parent != null) + _handleContainerRect = _handleTransform.parent.GetComponent(); + } + else { + _handleContainerRect = null; + } + } + + protected override void OnRectTransformDimensionsChange() { + base.OnRectTransformDimensionsChange(); + UpdateVisuals(); + } + + // Force-update the slider. Useful if you've changed the properties and want it to update visually. + private void UpdateVisuals() { + if (_handleContainerRect != null) { + _handleRect.anchorMin = _value; + _handleRect.anchorMax = _value; + } + } + + // Update the slider's position based on the mouse. + private void UpdateDrag(PointerEventData eventData, Camera cam) { + var clickRect = _handleContainerRect; + if (clickRect != null && clickRect.rect.size[0] > 0) { + if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(clickRect, eventData.position, cam, out var localCursor)) + return; + + var rect = clickRect.rect; + localCursor -= rect.position; + + Vector2 newVal; + newVal.x = Mathf.Clamp01((localCursor - _offset).x / rect.size.x); + newVal.y = Mathf.Clamp01((localCursor - _offset).y / rect.size.y); + + Value = newVal; + } + } + + private bool MayDrag(PointerEventData eventData) { + return IsActive() && IsInteractable() && eventData.button == PointerEventData.InputButton.Left; + } + + public override void OnPointerDown(PointerEventData eventData) { + if (!MayDrag(eventData)) + return; + + base.OnPointerDown(eventData); + + _offset = Vector2.zero; + if (_handleContainerRect != null && RectTransformUtility.RectangleContainsScreenPoint(_handleRect, eventData.position, eventData.enterEventCamera)) { + Vector2 localMousePos; + if (RectTransformUtility.ScreenPointToLocalPointInRectangle(_handleRect, eventData.position, eventData.pressEventCamera, out localMousePos)) + _offset = localMousePos; + + _offset.y = -_offset.y; + } + else { + // Outside the slider handle - jump to this point instead + UpdateDrag(eventData, eventData.pressEventCamera); + } + } + + public virtual void OnDrag(PointerEventData eventData) { + if (!MayDrag(eventData)) + return; + + UpdateDrag(eventData, eventData.pressEventCamera); + } + + public virtual void OnInitializePotentialDrag(PointerEventData eventData) { + eventData.useDragThreshold = false; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/ColorBoxSlider.cs b/Source/ConformalDecals/UI/ColorBoxSlider.cs new file mode 100644 index 0000000..eff0f59 --- /dev/null +++ b/Source/ConformalDecals/UI/ColorBoxSlider.cs @@ -0,0 +1,63 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class ColorBoxSlider : MonoBehaviour { + [SerializeField] public ColorPickerController.SVUpdateEvent onValueChanged = new ColorPickerController.SVUpdateEvent(); + + [SerializeField] private Vector2 _value; + + [SerializeField] private BoxSlider _slider; + [SerializeField] private Image _image; + + private bool _ignoreUpdates; + + public Vector2 Value { + get => _value; + set { + _value.x = Mathf.Clamp01(value.x); + _value.y = Mathf.Clamp01(value.y); + UpdateSlider(); + UpdateChannels(); + } + } + + public void OnColorUpdate(Color rgb, Util.ColorHSV hsv) { + if (_ignoreUpdates) return; + + _image.material.SetColor(PropertyIDs._Color, (Vector4) hsv); + + _value.x = hsv.s; + _value.y = hsv.v; + UpdateSlider(); + } + + public void OnSliderUpdate(Vector2 value) { + if (_ignoreUpdates) return; + + _value = value; + UpdateChannels(); + } + + private void Awake() { + var boxSlider = gameObject.GetComponentInChildren(); + boxSlider.OnValueChanged.AddListener(OnSliderUpdate); + } + + private void UpdateChannels() { + _ignoreUpdates = true; + + onValueChanged.Invoke(_value); + + _ignoreUpdates = false; + } + + private void UpdateSlider() { + _ignoreUpdates = true; + + _slider.Value = _value; + + _ignoreUpdates = false; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/ColorChannelSlider.cs b/Source/ConformalDecals/UI/ColorChannelSlider.cs new file mode 100644 index 0000000..950beea --- /dev/null +++ b/Source/ConformalDecals/UI/ColorChannelSlider.cs @@ -0,0 +1,79 @@ +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class ColorChannelSlider : MonoBehaviour { + [SerializeField] public ColorPickerController.ChannelUpdateEvent onChannelChanged = new ColorPickerController.ChannelUpdateEvent(); + + [SerializeField] private float _value; + [SerializeField] private int _channel; + [SerializeField] private bool _hsv; + + [SerializeField] private Selectable _textBox; + [SerializeField] private Slider _slider; + [SerializeField] private Image _image; + + private bool _ignoreUpdates; + + public float Value { + get => _value; + set { + _value = Mathf.Clamp01(value); + UpdateSlider(); + UpdateTextbox(); + UpdateChannel(); + } + } + + public void OnColorUpdate(Color rgb, Util.ColorHSV hsv) { + if (_ignoreUpdates) return; + + _image.material.SetColor(PropertyIDs._Color, _hsv ? (Color) (Vector4) hsv : rgb); + + _value = _hsv ? hsv[_channel] : rgb[_channel]; + UpdateSlider(); + UpdateTextbox(); + } + + public void OnTextBoxUpdate(string text) { + if (_ignoreUpdates) return; + + if (byte.TryParse(text, out byte byteValue)) { + _value = (float) byteValue / 255; + UpdateSlider(); + UpdateChannel(); + } + else { + // value is invalid, reset value + UpdateTextbox(); + } + } + + public void OnSliderUpdate(float value) { + if (_ignoreUpdates) return; + + _value = value; + UpdateTextbox(); + UpdateChannel(); + } + + private void UpdateChannel() { + onChannelChanged.Invoke(_value, _channel, _hsv); + } + + private void UpdateSlider() { + _ignoreUpdates = true; + _slider.value = _value; + _ignoreUpdates = false; + } + + private void UpdateTextbox() { + if (_textBox == null) return; + + _ignoreUpdates = true; + ((TMP_InputField) _textBox).text = ((byte) (255 * _value)).ToString(); + _ignoreUpdates = false; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/ColorPickerController.cs b/Source/ConformalDecals/UI/ColorPickerController.cs new file mode 100644 index 0000000..3485311 --- /dev/null +++ b/Source/ConformalDecals/UI/ColorPickerController.cs @@ -0,0 +1,117 @@ +using System; +using ConformalDecals.Util; +using TMPro; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class ColorPickerController : MonoBehaviour { + [Serializable] + public class ColorUpdateEvent : UnityEvent { } + + [Serializable] + public class ChannelUpdateEvent : UnityEvent { } + + [Serializable] + public class SVUpdateEvent : UnityEvent { } + + [SerializeField] public ColorUpdateEvent onColorChanged = new ColorUpdateEvent(); + + [SerializeField] private Color _value; + [SerializeField] private Image _previewImage; + [SerializeField] private Selectable _hexTextBox; + + private bool _ignoreUpdate; + + public Color RGB { + get => _value; + set { + _value = value; + OnColorUpdate(); + } + } + + public Util.ColorHSV HSV { + get => Util.ColorHSV.RGB2HSV(_value); + set { + _value = Util.ColorHSV.HSV2RGB(value); + OnColorUpdate(); + } + } + + + public static ColorPickerController Create(Color rgb, UnityAction colorUpdateCallback) { + var menu = Instantiate(UILoader.ColorPickerPrefab, MainCanvasUtil.MainCanvas.transform, true); + menu.AddComponent(); + MenuNavigation.SpawnMenuNavigation(menu, Navigation.Mode.Automatic, true); + + var controller = menu.GetComponent(); + controller.RGB = rgb; + controller.onColorChanged.AddListener(colorUpdateCallback); + return controller; + } + + public void Close() { + Destroy(gameObject); + } + + public void OnChannelUpdate(float value, int channel, bool hsv) { + if (hsv) { + var newHSV = HSV; + newHSV[channel] = value; + HSV = newHSV; + } + else { + var newRGB = RGB; + newRGB[channel] = value; + RGB = newRGB; + } + } + + public void OnSVUpdate(Vector2 sv) { + var newHSV = HSV; + newHSV.s = sv.x; + newHSV.v = sv.y; + HSV = newHSV; + } + + public void OnColorUpdate() { + onColorChanged.Invoke(RGB, HSV); + _previewImage.material.SetColor(PropertyIDs._Color, RGB); + UpdateHexColor(); + } + + public void OnHexColorUpdate(string text) { + if (_ignoreUpdate) return; + + if (ParseUtil.TryParseHexColor(text, out var newRGB)) { + RGB = newRGB; + OnColorUpdate(); + } + else { + UpdateHexColor(); + } + } + + private void Awake() { + foreach (var slider in gameObject.GetComponentsInChildren()) { + slider.onChannelChanged.AddListener(OnChannelUpdate); + onColorChanged.AddListener(slider.OnColorUpdate); + } + + foreach (var box in gameObject.GetComponentsInChildren()) { + box.onValueChanged.AddListener(OnSVUpdate); + onColorChanged.AddListener(box.OnColorUpdate); + } + } + + private void UpdateHexColor() { + _ignoreUpdate = true; + var byteColor = (Color32) RGB; + var hexColor = $"{byteColor.r:x2}{byteColor.g:x2}{byteColor.b:x2}"; + ((TMP_InputField) _hexTextBox).text = hexColor; + _ignoreUpdate = false; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/FontMenuController.cs b/Source/ConformalDecals/UI/FontMenuController.cs new file mode 100644 index 0000000..14928bf --- /dev/null +++ b/Source/ConformalDecals/UI/FontMenuController.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using ConformalDecals.Text; +using UniLinq; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class FontMenuController : MonoBehaviour { + [Serializable] + public class FontUpdateEvent : UnityEvent { } + + [SerializeField] public FontUpdateEvent onFontChanged = new FontUpdateEvent(); + + [SerializeField] private GameObject _menuItem; + [SerializeField] private GameObject _menuList; + + private DecalFont _currentFont; + + public static FontMenuController Create(IEnumerable fonts, DecalFont currentFont, UnityAction fontUpdateCallback) { + var menu = Instantiate(UILoader.FontMenuPrefab, MainCanvasUtil.MainCanvas.transform, true); + menu.AddComponent(); + MenuNavigation.SpawnMenuNavigation(menu, Navigation.Mode.Automatic, true); + + var controller = menu.GetComponent(); + controller._currentFont = currentFont; + controller.onFontChanged.AddListener(fontUpdateCallback); + + controller.Populate(fonts); + return controller; + } + + public void Close() { + Destroy(gameObject); + } + + public void OnFontSelected(DecalFont font) { + _currentFont = font ?? throw new ArgumentNullException(nameof(font)); + onFontChanged.Invoke(_currentFont); + } + + public void Populate(IEnumerable fonts) { + if (fonts == null) throw new ArgumentNullException(nameof(fonts)); + + Toggle active = null; + + foreach (var font in fonts.OrderBy(x => x.Title)) { + var listItem = GameObject.Instantiate(_menuItem, _menuList.transform); + listItem.name = font.Title; + listItem.SetActive(true); + + var fontItem = listItem.AddComponent(); + fontItem.Font = font; + fontItem.fontSelectionCallback = OnFontSelected; + + if (font == _currentFont) active = fontItem.toggle; + } + + if (active != null) active.isOn = true; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/FontMenuItem.cs b/Source/ConformalDecals/UI/FontMenuItem.cs new file mode 100644 index 0000000..8d9bc74 --- /dev/null +++ b/Source/ConformalDecals/UI/FontMenuItem.cs @@ -0,0 +1,36 @@ +using System; +using ConformalDecals.Text; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class FontMenuItem : MonoBehaviour { + public DecalFont Font { + get => _font; + set { + _font = value; + _font.SetupSample(_label); + } + } + + public delegate void FontSelectionReceiver(DecalFont font); + + public FontSelectionReceiver fontSelectionCallback; + public Toggle toggle; + + private DecalFont _font; + private TMP_Text _label; + + private void Awake() { + _label = gameObject.GetComponentInChildren(); + toggle = gameObject.GetComponent(); + toggle.isOn = false; + toggle.onValueChanged.AddListener(delegate { OnToggle(toggle); }); + } + + public void OnToggle(Toggle change) { + if (change.isOn) fontSelectionCallback?.Invoke(_font); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/TextEntryController.cs b/Source/ConformalDecals/UI/TextEntryController.cs new file mode 100644 index 0000000..40d047d --- /dev/null +++ b/Source/ConformalDecals/UI/TextEntryController.cs @@ -0,0 +1,272 @@ +using System; +using ConformalDecals.Text; +using ConformalDecals.Util; +using TMPro; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + public class TextEntryController : MonoBehaviour { + [Serializable] + public class TextUpdateEvent : UnityEvent { } + + [SerializeField] public TextUpdateEvent onValueChanged = new TextUpdateEvent(); + + [SerializeField] private Selectable _textBox; + [SerializeField] private Button _fontButton; + + [SerializeField] private Slider _lineSpacingSlider; + [SerializeField] private Selectable _lineSpacingTextBox; + + [SerializeField] private Slider _charSpacingSlider; + [SerializeField] private Selectable _charSpacingTextBox; + + [SerializeField] private Toggle _boldButton; + [SerializeField] private Toggle _italicButton; + [SerializeField] private Toggle _underlineButton; + [SerializeField] private Toggle _smallCapsButton; + [SerializeField] private Toggle _verticalButton; + + private string _text; + private DecalFont _font; + private DecalTextStyle _style; + private Vector2 _lineSpacingRange; + private Vector2 _charSpacingRange; + private TMP_InputField _textBoxTMP; + + private FontMenuController _fontMenu; + + private bool _ignoreUpdates; + + public static TextEntryController Create( + string text, DecalFont font, DecalTextStyle style, + Vector2 lineSpacingRange, Vector2 charSpacingRange, + UnityAction textUpdateCallback) { + + var window = Instantiate(UILoader.TextEntryPrefab, MainCanvasUtil.MainCanvas.transform, true); + window.AddComponent(); + MenuNavigation.SpawnMenuNavigation(window, Navigation.Mode.Automatic, true); + + var controller = window.GetComponent(); + controller._text = text; + controller._font = font; + controller._style = style; + controller._lineSpacingRange = lineSpacingRange; + controller._charSpacingRange = charSpacingRange; + controller.onValueChanged.AddListener(textUpdateCallback); + + return controller; + } + + public void Close() { + if (_fontMenu != null) _fontMenu.Close(); + Destroy(gameObject); + } + + public void OnTextUpdate(string newText) { + this._text = newText; + + OnValueChanged(); + } + + public void OnFontMenu() { + if (_fontMenu == null) _fontMenu = FontMenuController.Create(DecalConfig.Fonts, _font, OnFontUpdate); + } + + public void OnFontUpdate(DecalFont font) { + if (_ignoreUpdates) return; + + _font = font; + font.SetupSample(_fontButton.GetComponentInChildren()); + + _textBoxTMP.text = _text; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + _textBoxTMP.fontAsset = _font.FontAsset; + + UpdateStyleButtons(); + OnValueChanged(); + } + + public void OnLineSpacingUpdate(float value) { + if (_ignoreUpdates) return; + + _style.LineSpacing = Mathf.Lerp(_lineSpacingRange.x, _lineSpacingRange.y, value); + + UpdateLineSpacing(); + OnValueChanged(); + } + + public void OnLineSpacingUpdate(string text) { + if (_ignoreUpdates) return; + + if (float.TryParse(text, out var value)) { + _style.LineSpacing = Mathf.Clamp(value, _lineSpacingRange.x, _lineSpacingRange.y); + } + else { + Logging.LogWarning("Line spacing value '{text}' could not be parsed."); + } + + UpdateLineSpacing(); + OnValueChanged(); + } + + public void OnCharSpacingUpdate(float value) { + if (_ignoreUpdates) return; + + _style.CharSpacing = Mathf.Lerp(_charSpacingRange.x, _charSpacingRange.y, value); + + UpdateCharSpacing(); + OnValueChanged(); + } + + public void OnCharSpacingUpdate(string text) { + if (_ignoreUpdates) return; + + if (float.TryParse(text, out var value)) { + _style.CharSpacing = Mathf.Clamp(value, _charSpacingRange.x, _charSpacingRange.y); + } + else { + Logging.LogWarning("Char spacing value '{text}' could not be parsed."); + } + + UpdateCharSpacing(); + OnValueChanged(); + } + + public void OnBoldUpdate(bool state) { + if (_ignoreUpdates) return; + + _style.Bold = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + OnValueChanged(); + } + + public void OnItalicUpdate(bool state) { + if (_ignoreUpdates) return; + + _style.Italic = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + OnValueChanged(); + } + + public void OnUnderlineUpdate(bool state) { + if (_ignoreUpdates) return; + + _style.Underline = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + OnValueChanged(); + } + + public void OnSmallCapsUpdate(bool state) { + if (_ignoreUpdates) return; + + _style.SmallCaps = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + OnValueChanged(); + } + + public void OnVerticalUpdate(bool state) { + if (_ignoreUpdates) return; + + _style.Vertical = state; + OnValueChanged(); + } + + + private void Start() { + _textBoxTMP = ((TMP_InputField) _textBox); + _textBoxTMP.text = _text; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + _textBoxTMP.fontAsset = _font.FontAsset; + + _font.SetupSample(_fontButton.GetComponentInChildren()); + + UpdateStyleButtons(); + UpdateLineSpacing(); + UpdateCharSpacing(); + } + + private void OnValueChanged() { + onValueChanged.Invoke(_text, _font, _style); + } + + private void UpdateStyleButtons() { + _ignoreUpdates = true; + + if (_font.Bold) { + _boldButton.interactable = false; + _boldButton.isOn = true; + } + else if (_font.BoldMask) { + _boldButton.interactable = false; + _boldButton.isOn = false; + } + else { + _boldButton.interactable = true; + _boldButton.isOn = _style.Bold; + } + + if (_font.Italic) { + _italicButton.interactable = false; + _italicButton.isOn = true; + } + else if (_font.ItalicMask) { + _italicButton.interactable = false; + _italicButton.isOn = false; + } + else { + _italicButton.interactable = true; + _italicButton.isOn = _style.Italic; + } + + if (_font.Underline) { + _underlineButton.interactable = false; + _underlineButton.isOn = true; + } + else if (_font.UnderlineMask) { + _underlineButton.interactable = false; + _underlineButton.isOn = false; + } + else { + _underlineButton.interactable = true; + _underlineButton.isOn = _style.Underline; + } + + if (_font.SmallCaps) { + _smallCapsButton.interactable = false; + _smallCapsButton.isOn = true; + } + else if (_font.SmallCapsMask) { + _smallCapsButton.interactable = false; + _smallCapsButton.isOn = false; + } + else { + _smallCapsButton.interactable = true; + _smallCapsButton.isOn = _style.SmallCaps; + } + + _verticalButton.isOn = _style.Vertical; + + _ignoreUpdates = false; + } + + private void UpdateLineSpacing() { + _ignoreUpdates = true; + + _lineSpacingSlider.value = Mathf.InverseLerp(_lineSpacingRange.x, _lineSpacingRange.y, _style.LineSpacing); + ((TMP_InputField) _lineSpacingTextBox).text = $"{_style.LineSpacing:F1}"; + + _ignoreUpdates = false; + } + + private void UpdateCharSpacing() { + _ignoreUpdates = true; + + _charSpacingSlider.value = Mathf.InverseLerp(_charSpacingRange.x, _charSpacingRange.y, _style.CharSpacing); + ((TMP_InputField) _charSpacingTextBox).text = $"{_style.CharSpacing:F1}"; + + _ignoreUpdates = false; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/UILoader.cs b/Source/ConformalDecals/UI/UILoader.cs new file mode 100644 index 0000000..18c92f7 --- /dev/null +++ b/Source/ConformalDecals/UI/UILoader.cs @@ -0,0 +1,139 @@ +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace ConformalDecals.UI { + [KSPAddon(KSPAddon.Startup.Instantly, true)] + public class UILoader : MonoBehaviour { + private static readonly string Path = KSPUtil.ApplicationRootPath + "GameData/ConformalDecals/Resources/"; + + private static GameObject _textEntryPrefab; + private static GameObject _fontMenuPrefab; + private static GameObject _colorPickerPrefab; + + public static GameObject FontMenuPrefab => _fontMenuPrefab; + public static GameObject TextEntryPrefab => _textEntryPrefab; + public static GameObject ColorPickerPrefab => _colorPickerPrefab; + + private void Awake() { + var prefabs = AssetBundle.LoadFromFile(Path + "ui.conformaldecals"); + + _textEntryPrefab = prefabs.LoadAsset("TextEntryPanel") as GameObject; + _fontMenuPrefab = prefabs.LoadAsset("FontMenuPanel") as GameObject; + _colorPickerPrefab = prefabs.LoadAsset("ColorPickerPanel") as GameObject; + + ProcessWindow(_textEntryPrefab); + ProcessWindow(_fontMenuPrefab); + ProcessWindow(_colorPickerPrefab); + } + + private static void ProcessWindow(GameObject window) { + var skin = UISkinManager.defaultSkin; + var font = UISkinManager.TMPFont; + + var background = window.GetComponent(); + background.sprite = skin.window.normal.background; + background.type = Image.Type.Sliced; + + var texts = window.GetComponentsInChildren(true); + + foreach (var text in texts) { + ProcessText(text, font, Color.white); + } + + var tags = window.GetComponentsInChildren(true); + + foreach (var tag in tags) { + switch (tag.type) { + case UITag.UIType.Window: + ProcessImage(tag.gameObject, skin.window); + break; + case UITag.UIType.Button: + ProcessSelectable(tag.gameObject, skin.button); + break; + case UITag.UIType.ButtonToggle: + ProcessToggleButton(tag.gameObject, skin.button); + break; + case UITag.UIType.RadioToggle: + ProcessSelectable(tag.gameObject, skin.toggle); + break; + case UITag.UIType.BoxSlider: + case UITag.UIType.Slider: + ProcessSlider(tag.gameObject, skin.horizontalSlider, skin.horizontalSliderThumb); + break; + case UITag.UIType.Box: + ProcessSelectable(tag.gameObject, skin.box); + break; + case UITag.UIType.Dropdown: + ProcessDropdown(tag.gameObject, skin.button, skin.window); + break; + case UITag.UIType.Label: + ProcessText(tag.GetComponent(), font, new Color(0.718f, 0.996f, 0.000f, 1.000f), 14); + break; + case UITag.UIType.Header: + ProcessText(tag.GetComponent(), font, new Color(0.718f, 0.996f, 0.000f, 1.000f), 16); + break; + } + } + } + + private static void ProcessImage(GameObject gameObject, UIStyle style) { + var image = gameObject.GetComponent(); + if (image != null) { + ProcessImage(image, style.normal); + } + } + + private static void ProcessImage(Image image, UIStyleState state) { + image.sprite = state.background; + image.color = Color.white; + image.type = Image.Type.Sliced; + } + + private static void ProcessSelectable(GameObject gameObject, UIStyle style) { + var selectable = gameObject.GetComponent(); + if (selectable == null) { + ProcessImage(gameObject, style); + } + else { + ProcessImage(selectable.image, style.normal); + + selectable.transition = Selectable.Transition.SpriteSwap; + + var state = selectable.spriteState; + state.highlightedSprite = style.highlight.background; + state.selectedSprite = style.highlight.background; + state.pressedSprite = style.active.background; + state.disabledSprite = style.disabled.background; + selectable.spriteState = state; + } + } + + private static void ProcessToggleButton(GameObject gameObject, UIStyle style) { + ProcessSelectable(gameObject, style); + + var toggle = gameObject.GetComponent(); + if (toggle != null) ProcessImage(toggle.graphic as Image, style.active); + } + + private static void ProcessSlider(GameObject gameObject, UIStyle backgroundStyle, UIStyle thumbStyle) { + ProcessSelectable(gameObject, thumbStyle); + + var background = gameObject.transform.Find("Background"); + if (background != null) ProcessImage(background.gameObject, backgroundStyle); + } + + private static void ProcessDropdown(GameObject gameObject, UIStyle buttonStyle, UIStyle windowStyle) { + ProcessSelectable(gameObject, buttonStyle); + + var template = gameObject.transform.Find("Template").gameObject; + if (template != null) ProcessImage(template, windowStyle); + } + + private static void ProcessText(TextMeshProUGUI text, TMP_FontAsset font, Color color, int size = -1) { + text.font = font; + text.color = color; + if (size > 0) text.fontSize = size; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/UI/UITag.cs b/Source/ConformalDecals/UI/UITag.cs new file mode 100644 index 0000000..f4660a5 --- /dev/null +++ b/Source/ConformalDecals/UI/UITag.cs @@ -0,0 +1,21 @@ +using UnityEngine; + +namespace ConformalDecals.UI { + public class UITag : MonoBehaviour { + public enum UIType { + None, + Window, + Box, + Button, + ButtonToggle, + RadioToggle, + Slider, + Dropdown, + Label, + Header, + BoxSlider + } + + [SerializeField] public UIType type = UIType.None; + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Util/ColorHSL.cs b/Source/ConformalDecals/Util/ColorHSL.cs new file mode 100644 index 0000000..5ed7cc3 --- /dev/null +++ b/Source/ConformalDecals/Util/ColorHSL.cs @@ -0,0 +1,161 @@ +using System; +using System.Globalization; +using UnityEngine; + +namespace ConformalDecals.Util { + public struct ColorHSL : IEquatable { + public float h; + public float s; + public float l; + public float a; + + public ColorHSL(float h, float s = 1, float l = 0.5f, float a = 1) { + this.h = h; + this.s = s; + this.l = l; + this.a = a; + } + + public override string ToString() { + return $"HSLA({this.h:F3}, {this.s:F3}, {this.l:F3}, {this.a:F3})"; + } + + public string ToString(string format) { + return + "HSLA(" + + $"{this.h.ToString(format, CultureInfo.InvariantCulture.NumberFormat)}, " + + $"{this.s.ToString(format, CultureInfo.InvariantCulture.NumberFormat)}, " + + $"{this.l.ToString(format, CultureInfo.InvariantCulture.NumberFormat)}, " + + $"{this.a.ToString(format, CultureInfo.InvariantCulture.NumberFormat)})"; + } + + public bool Equals(ColorHSL other) { + return (this.h.Equals(other.h) && this.s.Equals(other.s) && this.l.Equals(other.l) && this.a.Equals(other.a)); + } + + public bool Equals(Color other) { + var rgb = HSL2RGB(this); + return rgb.Equals(other); + } + + public override bool Equals(object obj) { + if (obj is ColorHSL otherHSL) return Equals(otherHSL); + if (obj is Color otherRGB) return Equals(otherRGB); + + return false; + } + + public override int GetHashCode() { + return ((Vector4) this).GetHashCode(); + } + + public float this[int index] { + get { + switch (index) { + case 0: + return this.h; + case 1: + return this.s; + case 2: + return this.l; + case 3: + return this.a; + default: + throw new IndexOutOfRangeException("Invalid Vector3 index!"); + } + } + set { + switch (index) { + case 0: + this.h = value; + break; + case 1: + this.s = value; + break; + case 2: + this.l = value; + break; + case 3: + this.a = value; + break; + default: + throw new IndexOutOfRangeException("Invalid Vector3 index!"); + } + } + } + + public static bool operator ==(ColorHSL lhs, ColorHSL rhs) { + return lhs.Equals(rhs); + } + + public static bool operator !=(ColorHSL lhs, ColorHSL rhs) { + return !(lhs == rhs); + } + + public static implicit operator Vector4(ColorHSL c) { + return new Vector4(c.h, c.s, c.l, c.a); + } + + public static implicit operator ColorHSL(Vector4 v) { + return new ColorHSL(v.x, v.y, v.z, v.w); + } + + public static implicit operator ColorHSL(Color rgb) { + return RGB2HSL(rgb); + } + + public static implicit operator Color(ColorHSL hsl) { + return HSL2RGB(hsl); + } + + public static Color HSL2RGB(ColorHSL hsl) { + float a = hsl.s * Mathf.Min(hsl.l, 1 - hsl.l); + + float Component(int n) { + float k = (n + hsl.h * 12) % 12; + return hsl.l - a * Mathf.Max(-1, Mathf.Min(k - 3, Mathf.Min(9 - k, 1))); + } + + return new Color(Component(0), Component(8), Component(4), hsl.a); + } + + public static ColorHSL RGB2HSL(Color rgb) { + float h = 0; + float s = 0; + float l = 0; + + if (rgb.r >= rgb.g && rgb.r >= rgb.b) { + float xMin = Mathf.Min(rgb.g, rgb.b); + + l = (rgb.r + xMin) / 2; + s = (rgb.r - l) / Mathf.Min(l, 1 - l); + + float c = rgb.r - xMin; + if (c > Mathf.Epsilon) h = (rgb.g - rgb.b) / (6 * c); + + } + else if (rgb.g >= rgb.r && rgb.g >= rgb.b) { + float xMin = Mathf.Min(rgb.r, rgb.b); + + l = (rgb.g + xMin) / 2; + s = (rgb.g - l) / Mathf.Min(l, 1 - l); + + float c = rgb.g - xMin; + if (c > Mathf.Epsilon) h = (2 + ((rgb.b - rgb.r) / c)) / 6; + + } + else if (rgb.b >= rgb.r && rgb.b >= rgb.g) { + float xMin = Mathf.Min(rgb.r, rgb.g); + + l = (rgb.b + xMin) / 2; + s = (rgb.b - l) / Mathf.Min(l, 1 - l); + + float c = rgb.g - xMin; + if (c > Mathf.Epsilon) h = (4 + ((rgb.r - rgb.g) / c)) / 6; + + } + + return new ColorHSL(h, s, l, rgb.a); + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Util/ColorHSV.cs b/Source/ConformalDecals/Util/ColorHSV.cs new file mode 100644 index 0000000..1595ceb --- /dev/null +++ b/Source/ConformalDecals/Util/ColorHSV.cs @@ -0,0 +1,123 @@ +using System; +using System.Globalization; +using UnityEngine; + +namespace ConformalDecals.Util { + public struct ColorHSV : IEquatable { + public float h; + public float s; + public float v; + public float a; + + public ColorHSV(float h, float s = 1, float v = 1, float a = 1) { + this.h = h; + this.s = s; + this.v = v; + this.a = a; + } + + public override string ToString() { + return $"HSVA({this.h:F3}, {this.s:F3}, {this.v:F3}, {this.a:F3})"; + } + + public string ToString(string format) { + return + "HSVA(" + + $"{this.h.ToString(format, CultureInfo.InvariantCulture.NumberFormat)}, " + + $"{this.s.ToString(format, CultureInfo.InvariantCulture.NumberFormat)}, " + + $"{this.v.ToString(format, CultureInfo.InvariantCulture.NumberFormat)}, " + + $"{this.a.ToString(format, CultureInfo.InvariantCulture.NumberFormat)})"; + } + + public bool Equals(ColorHSL other) { + return (this.h.Equals(other.h) && this.s.Equals(other.s) && this.v.Equals(other.l) && this.a.Equals(other.a)); + } + + public bool Equals(Color other) { + var rgb = HSV2RGB(this); + return rgb.Equals(other); + } + + public override bool Equals(object obj) { + if (obj is ColorHSL otherHSL) return Equals(otherHSL); + if (obj is Color otherRGB) return Equals(otherRGB); + + return false; + } + + public override int GetHashCode() { + return ((Vector4) this).GetHashCode(); + } + + public float this[int index] { + get { + switch (index) { + case 0: + return this.h; + case 1: + return this.s; + case 2: + return this.v; + case 3: + return this.a; + default: + throw new IndexOutOfRangeException("Invalid Vector3 index!"); + } + } + set { + switch (index) { + case 0: + this.h = value; + break; + case 1: + this.s = value; + break; + case 2: + this.v = value; + break; + case 3: + this.a = value; + break; + default: + throw new IndexOutOfRangeException("Invalid Vector3 index!"); + } + } + } + + public static bool operator ==(ColorHSV lhs, ColorHSV rhs) { + return lhs.Equals(rhs); + } + + public static bool operator !=(ColorHSV lhs, ColorHSV rhs) { + return !(lhs == rhs); + } + + public static implicit operator Vector4(ColorHSV c) { + return new Vector4(c.h, c.s, c.v, c.a); + } + + public static implicit operator ColorHSV(Vector4 v) { + return new ColorHSV(v.x, v.y, v.z, v.w); + } + + public static implicit operator ColorHSV(Color rgb) { + return RGB2HSV(rgb); + } + + public static implicit operator Color(ColorHSV hsv) { + return HSV2RGB(hsv); + } + + public static Color HSV2RGB(ColorHSV hsv) { + var rgb = Color.HSVToRGB(hsv.h, hsv.s, hsv.v, false); + rgb.a = hsv.a; + return rgb; + } + + public static ColorHSV RGB2HSV(Color rgb) { + var hsv = new ColorHSV {a = rgb.a}; + Color.RGBToHSV(rgb, out hsv.h, out hsv.s, out hsv.v); + return hsv; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Util/ColorUtil.cs b/Source/ConformalDecals/Util/ColorUtil.cs new file mode 100644 index 0000000..0ef1403 --- /dev/null +++ b/Source/ConformalDecals/Util/ColorUtil.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace ConformalDecals.Util { + public static class ColorUtil { + /// Returns an RGBA 32-bit hex string + public static string ToHexString(this Color32 color) { + return $"#{color.r:x2}{color.g:x2}{color.b:x2}{color.a:x2}"; + } + + // Returns an RGBA 32-bit unsigned integer representation of the color + public static uint ToUint(this Color32 color) { + uint rgba = color.r; + rgba <<= 8; + rgba |= color.g; + rgba <<= 8; + rgba |= color.b; + rgba <<= 8; + rgba |= color.a; + return rgba; + } + } +} \ No newline at end of file diff --git a/Source/ConformalDecals/Util/Logging.cs b/Source/ConformalDecals/Util/Logging.cs index a3206f3..8a48793 100644 --- a/Source/ConformalDecals/Util/Logging.cs +++ b/Source/ConformalDecals/Util/Logging.cs @@ -3,18 +3,23 @@ using UnityEngine; namespace ConformalDecals.Util { public static class Logging { + public static void Log(string message) => Debug.Log("[ConformalDecals] " + message); + public static void Log(this PartModule module, string message) => Debug.Log(FormatMessage(module, message)); - public static void LogWarning(this PartModule module, string message) => - Debug.LogWarning(FormatMessage(module, message)); + public static void LogWarning(string message) => Debug.LogWarning("[ConformalDecals] " + message); + + public static void LogWarning(this PartModule module, string message) => Debug.LogWarning(FormatMessage(module, message)); + + public static void LogError(string message) => Debug.LogError("[ConformalDecals] " + message); - public static void LogError(this PartModule module, string message) => - Debug.LogError(FormatMessage(module, message)); + public static void LogError(this PartModule module, string message) => Debug.LogError(FormatMessage(module, message)); + + public static void LogException(string message, Exception exception) => Debug.LogException(new Exception("[ConformalDecals] " + message, exception)); public static void LogException(this PartModule module, string message, Exception exception) => Debug.LogException(new Exception(FormatMessage(module, message), exception)); - private static string FormatMessage(PartModule module, string message) => $"[{GetPartName(module.part)} {module.GetType()}] {message}"; diff --git a/Source/ConformalDecals/Util/ParseUtil.cs b/Source/ConformalDecals/Util/ParseUtil.cs index fcb1ecd..5a712c7 100644 --- a/Source/ConformalDecals/Util/ParseUtil.cs +++ b/Source/ConformalDecals/Util/ParseUtil.cs @@ -139,44 +139,53 @@ namespace ConformalDecals.Util { throw new FormatException($"Improperly formatted {typeof(T)} value for {valueName} : '{valueString}"); } - public static bool TryParseColor32(string valueString, out Color32 value) { + public static bool TryParseHexColor(string valueString, out Color32 value) { value = new Color32(0, 0, 0, byte.MaxValue); - // HTML-style hex color - if (valueString[0] == '#') { - var hexColorString = valueString.Substring(1); + if (!uint.TryParse(valueString, System.Globalization.NumberStyles.HexNumber, null, out var hexColor)) return false; - if (!int.TryParse(hexColorString, System.Globalization.NumberStyles.HexNumber, null, out var hexColor)) return false; + switch (valueString.Length) { + case 8: // RRGGBBAA + value.a = (byte) (hexColor & 0xFF); + hexColor >>= 8; + goto case 6; - switch (hexColorString.Length) { - case 8: // RRGGBBAA - value.a = (byte) (hexColor & 0xFF); - hexColor >>= 8; - goto case 6; + case 6: // RRGGBB + value.b = (byte) (hexColor & 0xFF); + hexColor >>= 8; + value.g = (byte) (hexColor & 0xFF); + hexColor >>= 8; + value.r = (byte) (hexColor & 0xFF); + return true; - case 6: // RRGGBB - value.b = (byte) (hexColor & 0xFF); - hexColor >>= 8; - value.g = (byte) (hexColor & 0xFF); - hexColor >>= 8; - value.r = (byte) (hexColor & 0xFF); - return true; + case 4: // RGBA + value.a = (byte) ((hexColor & 0xF) << 4); + hexColor >>= 4; + goto case 3; - case 4: // RGBA - value.a = (byte) ((hexColor & 0xF) << 4); - hexColor >>= 4; - goto case 3; - - case 3: // RGB - value.b = (byte) (hexColor & 0xF << 4); - hexColor >>= 4; - value.g = (byte) (hexColor & 0xF << 4); - hexColor >>= 4; - value.r = (byte) (hexColor & 0xF << 4); - return true; + case 3: // RGB + value.b = (byte) (hexColor & 0xF << 4); + hexColor >>= 4; + value.g = (byte) (hexColor & 0xF << 4); + hexColor >>= 4; + value.r = (byte) (hexColor & 0xF << 4); + return true; - default: - return false; + default: + return false; + } + } + + public static bool TryParseColor32(string valueString, out Color32 value) { + value = new Color32(0, 0, 0, byte.MaxValue); + + // hex color + if (valueString[0] == '#') { + var hexColorString = valueString.Substring(1); + + if (TryParseHexColor(hexColorString, out var hexColor)) { + value = hexColor; + return true; } } @@ -207,7 +216,14 @@ namespace ConformalDecals.Util { value.g = (byte) (green * 0xFF); value.b = (byte) (blue * 0xFF); return true; - + case 1: // try again for hex color + if (TryParseHexColor(split[0], out var hexcolor)) { + value = hexcolor; + return true; + } + else { + return false; + } default: return false; } diff --git a/changelog.txt b/changelog.txt index 6b849ff..3f0ac0f 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,18 @@ +v0.2.0 +------ +- New Parts: + - CDL-3 Surface Base Decal: A set of conformal decals based on the symbols from the movie Moon designed by Gavin Rothery + - CDL-T Custom Text Decal: A customizable text decal with a variety of fonts +- Changes: + - New "KEYWORD" material modifier, allowing for shader features to be enabled and disabled. + - material modifiers can now be removed in variants by setting `remove = true` inside them. + - Unified all decal shaders into a single "Standard" shader with variants supporting any combination of bump, specular and emissive maps, plus SDF alphas. + - Old shaders are remapped to Standard shader plus keywords automatically. + - New SDF-based antialiasing for when decals extend to their borders, i.e. on opaque flags. +- Fixes: + - Fixed WIDTH and HEIGHT scale modes being flipped + - Removed some debug log statements + v0.1.4 ------ - Supported KSP versions: 1.8.x to 1.10.x