From c3dca37c702642cf3347fce6a4863380f0931e7c Mon Sep 17 00:00:00 2001 From: sega Date: Thu, 20 Aug 2026 14:29:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=B8=D0=BD=D0=B3?= =?UTF-8?q?=20=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/MStringStepper.cs | 58 +++ Assets/MStringStepper.cs.meta | 2 + Assets/Scripts/Settings/Views/StringView.cs | 61 +-- Assets/SettingViewSet.asset | 2 +- Assets/StringSetting.prefab | 472 ++++++++++++++++++++ Assets/StringSetting.prefab.meta | 7 + Assets/StringStepper.prefab | 453 +++++++++++++++++++ Assets/StringStepper.prefab.meta | 7 + 8 files changed, 1008 insertions(+), 54 deletions(-) create mode 100644 Assets/MStringStepper.cs create mode 100644 Assets/MStringStepper.cs.meta create mode 100644 Assets/StringSetting.prefab create mode 100644 Assets/StringSetting.prefab.meta create mode 100644 Assets/StringStepper.prefab create mode 100644 Assets/StringStepper.prefab.meta diff --git a/Assets/MStringStepper.cs b/Assets/MStringStepper.cs new file mode 100644 index 0000000..f70be07 --- /dev/null +++ b/Assets/MStringStepper.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using TMPro; +using UnityEngine; + +public class MStringStepper : MonoBehaviour +{ + public event Action OnValueChanged; + + [SerializeField] private TextMeshProUGUI _valueLabel; + [SerializeField] private CanvasGroup _leftArrow; + [SerializeField] private CanvasGroup _rightArrow; + + private string _value; + private List _values; + private int _index; + private bool _switched = false; + + public void Initialize(string value, List values) + { + _value = value; + _values = values; + _index = values.IndexOf(value); + + UpdateView(); + } + + public void SetDirection(int direction) + { + if(_switched && direction == 0) + _switched = false; + + if(_switched) return; + + + int newIndex = _index + direction; + newIndex = Mathf.Clamp(newIndex, 0, _values.Count - 1); + + bool valueChanged = newIndex != _index; + if (valueChanged) + { + _index = newIndex; + + _value = _values[_index]; + OnValueChanged?.Invoke(_value); + UpdateView(); + _switched = true; + } + } + + private void UpdateView() + { + _valueLabel.text = _value.ToString(); + + _leftArrow.alpha = _index == 0 ? 0 : 1; + _rightArrow.alpha = _index == _values.Count - 1 ? 0 : 1; + } +} \ No newline at end of file diff --git a/Assets/MStringStepper.cs.meta b/Assets/MStringStepper.cs.meta new file mode 100644 index 0000000..cd1437e --- /dev/null +++ b/Assets/MStringStepper.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4e5be06f3b54e984abd5a8b7afca6389 \ No newline at end of file diff --git a/Assets/Scripts/Settings/Views/StringView.cs b/Assets/Scripts/Settings/Views/StringView.cs index f60e23c..e15d2d4 100644 --- a/Assets/Scripts/Settings/Views/StringView.cs +++ b/Assets/Scripts/Settings/Views/StringView.cs @@ -1,70 +1,25 @@ -using TMPro; -using UnityEngine; -using UnityEngine.UI; +using UnityEngine; public class StringView : BaseSettingView { - [Header("Настройки Layout'а")] - [SerializeField] private TextMeshProUGUI ValueLabel; - [SerializeField] private Image LeftPointer; - [SerializeField] private Image RightPointer; - - [SerializeField] private Color NormalColor; - [SerializeField] private Color InactiveColor; - - [Header("Звуки")] + [SerializeField] MStringStepper _stepper; [SerializeField] private AudioClip SwitchClip; public SettingDTO CachedSetting { get; private set; } - private int MaxIndex => CachedSetting.AllowedValues.Count - 1; - private int currentIndex = 0; - private bool pressed = false; public override void Initialize(SettingDTO setting) { base.Initialize(setting); CachedSetting = setting; - currentIndex = CalculateCurrentIndex(); - UpdateUi(); + _stepper.Initialize(setting.StringValue, setting.AllowedValues); + _stepper.OnValueChanged += _stepper_OnValueChanged; } - public override void TakeInput(int direction, bool _) + public override void TakeInput(int direction, bool _) => _stepper.SetDirection(direction); + + private void _stepper_OnValueChanged(string newValue) { - if (direction == 0) - { - pressed = false; - return; - } - - if (pressed) return; - - pressed = true; - int newIndex = Mathf.Clamp(currentIndex + direction, 0, MaxIndex); - if (newIndex == currentIndex) return; - - - currentIndex = newIndex; - - CachedSetting.StringValue = CachedSetting.AllowedValues[currentIndex]; + CachedSetting.StringValue = newValue; SoundManager.instance.playClip(SwitchClip); - UpdateUi(); - } - - private int CalculateCurrentIndex() - { - int index = CachedSetting.AllowedValues.IndexOf(CachedSetting.StringValue); - return index < 0 ? 0 : index; - } - - private void UpdatePointers() - { - LeftPointer.color = currentIndex > 0 ? NormalColor : InactiveColor; - RightPointer.color = currentIndex < MaxIndex ? NormalColor : InactiveColor; - } - - private void UpdateUi() - { - ValueLabel.text = CachedSetting.StringValue; - UpdatePointers(); } } \ No newline at end of file diff --git a/Assets/SettingViewSet.asset b/Assets/SettingViewSet.asset index c717f61..1a8c4cc 100644 --- a/Assets/SettingViewSet.asset +++ b/Assets/SettingViewSet.asset @@ -15,5 +15,5 @@ MonoBehaviour: boolView: {fileID: 661358911580675252, guid: 3f5f19a4e1e221c4f8e8f526647430a2, type: 3} intView: {fileID: 8208155087606663890, guid: 4958128c98f1ac249ae15d1b0f9ab888, type: 3} floatView: {fileID: 6349691222830257612, guid: cc871af4efc773343800f9ca7503f0cc, type: 3} - stringView: {fileID: 0} + stringView: {fileID: 3290846134693264660, guid: 0ee3a3a6908b93042919767f25e1b4e7, type: 3} signalView: {fileID: 0} diff --git a/Assets/StringSetting.prefab b/Assets/StringSetting.prefab new file mode 100644 index 0000000..9fa2f16 --- /dev/null +++ b/Assets/StringSetting.prefab @@ -0,0 +1,472 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &87492550789449837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1494698429595343414} + - component: {fileID: 7426346546271364008} + - component: {fileID: 6891621979240271139} + - component: {fileID: 3290846134693264660} + m_Layer: 5 + m_Name: StringSetting + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1494698429595343414 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87492550789449837} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1407253749716458978} + - {fileID: 6846462344833863378} + m_Father: {fileID: 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: 891.44995, y: 38.25} + m_Pivot: {x: 0, y: 1} +--- !u!222 &7426346546271364008 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87492550789449837} + m_CullTransparentMesh: 1 +--- !u!82 &6891621979240271139 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87492550789449837} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {fileID: 0} + m_PlayOnAwake: 0 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &3290846134693264660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87492550789449837} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 92b7e97bf63d9224484d902c7acae3d4, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::StringView + _settingNameLabel: {fileID: 6619818367823288239} + _stepper: {fileID: 7027308042307283320} + SwitchClip: {fileID: 8300000, guid: 1c48900c9ab0aa8418920a8193050870, type: 3} +--- !u!1 &1843995630019402221 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1407253749716458978} + - component: {fileID: 8366203831187961809} + - component: {fileID: 6619818367823288239} + m_Layer: 5 + m_Name: setting name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1407253749716458978 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843995630019402221} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1494698429595343414} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 32, y: 0} + m_SizeDelta: {x: 512.29, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &8366203831187961809 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843995630019402221} + m_CullTransparentMesh: 1 +--- !u!114 &6619818367823288239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843995630019402221} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: e15a0ab6490ab964998a0786c208c4b2, type: 2} + m_sharedMaterial: {fileID: 4262305343556741190, guid: e15a0ab6490ab964998a0786c208c4b2, 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_colorMode: 3 + 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_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 29.5 + m_fontSizeBase: 30 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 15.16 + m_fontSizeMax: 30 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1001 &7738861659687268133 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1494698429595343414} + m_Modifications: + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.x + value: 544.29 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3933247215679858954, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3933247215679858954, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3933247215679858954, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3933247215679858954, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3933247215679858954, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4623604502399868043, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4623604502399868043, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4623604502399868043, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4623604502399868043, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4623604502399868043, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6424077665414851285, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_Name + value: StringStepper + objectReference: {fileID: 0} + - target: {fileID: 8575591933987296918, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8575591933987296918, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8575591933987296918, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8575591933987296918, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8575591933987296918, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} +--- !u!224 &6846462344833863378 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3775829131982643703, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + m_PrefabInstance: {fileID: 7738861659687268133} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7027308042307283320 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 784742081690338909, guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3, type: 3} + m_PrefabInstance: {fileID: 7738861659687268133} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e5be06f3b54e984abd5a8b7afca6389, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MStringStepper diff --git a/Assets/StringSetting.prefab.meta b/Assets/StringSetting.prefab.meta new file mode 100644 index 0000000..c611c41 --- /dev/null +++ b/Assets/StringSetting.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0ee3a3a6908b93042919767f25e1b4e7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StringStepper.prefab b/Assets/StringStepper.prefab new file mode 100644 index 0000000..07d5db4 --- /dev/null +++ b/Assets/StringStepper.prefab @@ -0,0 +1,453 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3984386402419144546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3933247215679858954} + - component: {fileID: 8986047878173342394} + - component: {fileID: 782228741111818699} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3933247215679858954 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3984386402419144546} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3775829131982643703} + 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: 28.38} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8986047878173342394 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3984386402419144546} + m_CullTransparentMesh: 1 +--- !u!114 &782228741111818699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3984386402419144546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 02323123123 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: e15a0ab6490ab964998a0786c208c4b2, type: 2} + m_sharedMaterial: {fileID: 4262305343556741190, guid: e15a0ab6490ab964998a0786c208c4b2, 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_colorMode: 3 + 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_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 21.85 + m_fontSizeBase: 26.1 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 16 + m_fontSizeMax: 26.1 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &5025713083768830759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8575591933987296918} + - component: {fileID: 8554282620158073292} + - component: {fileID: 7038806558190891654} + - component: {fileID: 6928693588231480926} + - component: {fileID: 7351583555986576043} + m_Layer: 5 + m_Name: arrow right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8575591933987296918 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5025713083768830759} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3775829131982643703} + 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: 25.83} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8554282620158073292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5025713083768830759} + m_CullTransparentMesh: 1 +--- !u!114 &7038806558190891654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5025713083768830759} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -3390835886679162015, guid: cf234dbb1551ec647959db3ae7c0a6b5, 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!114 &6928693588231480926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5025713083768830759} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: 21.85 + m_MinHeight: -1 + m_PreferredWidth: 21.85 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!225 &7351583555986576043 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5025713083768830759} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &6424077665414851285 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3775829131982643703} + - component: {fileID: 5397795676319488770} + - component: {fileID: 1764477209702630985} + - component: {fileID: 784742081690338909} + m_Layer: 5 + m_Name: StringStepper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3775829131982643703 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6424077665414851285} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4623604502399868043} + - {fileID: 3933247215679858954} + - {fileID: 8575591933987296918} + m_Father: {fileID: 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: 544.29, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &5397795676319488770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6424077665414851285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 1 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &1764477209702630985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6424077665414851285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &784742081690338909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6424077665414851285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e5be06f3b54e984abd5a8b7afca6389, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MStringStepper + _valueLabel: {fileID: 782228741111818699} + _leftArrow: {fileID: 846466142682761755} + _rightArrow: {fileID: 7351583555986576043} +--- !u!1 &7657011024977096981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4623604502399868043} + - component: {fileID: 5220313925016631391} + - component: {fileID: 6829595005887756008} + - component: {fileID: 1048259649582036102} + - component: {fileID: 846466142682761755} + m_Layer: 5 + m_Name: arrow left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4623604502399868043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657011024977096981} + m_LocalRotation: {x: 0, y: 0, z: -1, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3775829131982643703} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -180} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 25.83} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5220313925016631391 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657011024977096981} + m_CullTransparentMesh: 1 +--- !u!114 &6829595005887756008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657011024977096981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -3390835886679162015, guid: cf234dbb1551ec647959db3ae7c0a6b5, 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!114 &1048259649582036102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657011024977096981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: 21 + m_MinHeight: -1 + m_PreferredWidth: 21.85 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!225 &846466142682761755 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657011024977096981} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 diff --git a/Assets/StringStepper.prefab.meta b/Assets/StringStepper.prefab.meta new file mode 100644 index 0000000..af4b1d8 --- /dev/null +++ b/Assets/StringStepper.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0a9ecdc5a3c3c3441ad9a45276a1e1e3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: