diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index d7ab395..51085f2 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -9242,6 +9242,7 @@ RectTransform: - {fileID: 399951205} - {fileID: 1234507984} - {fileID: 2035520693} + - {fileID: 994769555} m_Father: {fileID: 1370378046} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -9291,12 +9292,12 @@ MonoBehaviour: m_Interactable: 1 m_TargetGraphic: {fileID: 617982683} m_FillRect: {fileID: 617982682} - m_HandleRect: {fileID: 0} + m_HandleRect: {fileID: 994769555} m_Direction: 0 m_MinValue: 0 m_MaxValue: 1 m_WholeNumbers: 0 - m_Value: 0.423 + m_Value: 0.674 m_OnValueChanged: m_PersistentCalls: m_Calls: [] @@ -15340,7 +15341,7 @@ RectTransform: m_Father: {fileID: 2035520693} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0.423, y: 1} + m_AnchorMax: {x: 0.674, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} @@ -19742,7 +19743,7 @@ MonoBehaviour: m_Interactable: 1 m_TargetGraphic: {fileID: 196885464} m_FillRect: {fileID: 196885462} - m_HandleRect: {fileID: 0} + m_HandleRect: {fileID: 965650748} m_Direction: 0 m_MinValue: 0 m_MaxValue: 1 @@ -19766,6 +19767,7 @@ RectTransform: - {fileID: 1883792014} - {fileID: 1267946106} - {fileID: 929396571} + - {fileID: 965650748} m_Father: {fileID: 1370378046} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -21495,6 +21497,81 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &921405873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 921405874} + - component: {fileID: 921405876} + - component: {fileID: 921405875} + m_Layer: 5 + m_Name: New Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &921405874 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921405873} + 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: 965650748} + 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: -5, y: 0} + m_SizeDelta: {x: 20, y: 70} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &921405875 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921405873} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9697034aebea7c64189648fe6a3b0676, type: 3} + 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!222 &921405876 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921405873} + m_CullTransparentMesh: 1 --- !u!1 &924484583 GameObject: m_ObjectHideFlags: 0 @@ -22513,6 +22590,42 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &965650747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 965650748} + m_Layer: 5 + m_Name: Handle_200 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &965650748 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 965650747} + 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: 921405874} + m_Father: {fileID: 843107550} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.263, y: 0} + m_AnchorMax: {x: 0.263, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &971360828 GameObject: m_ObjectHideFlags: 0 @@ -23208,6 +23321,42 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 5000, y: 100} m_EdgeRadius: 0 +--- !u!1 &994769554 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 994769555} + m_Layer: 5 + m_Name: Handle_100 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &994769555 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 994769554} + 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: 1268522162} + m_Father: {fileID: 329509808} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.674, y: 0} + m_AnchorMax: {x: 0.674, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &995025952 GameObject: m_ObjectHideFlags: 0 @@ -30415,6 +30564,81 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &1268522161 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1268522162} + - component: {fileID: 1268522164} + - component: {fileID: 1268522163} + m_Layer: 5 + m_Name: New Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1268522162 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268522161} + 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: 994769555} + 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: -5, y: 0} + m_SizeDelta: {x: 20, y: 70} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1268522163 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268522161} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8647c66a4e6a0ef4f9fdc1cebe6f9eee, type: 3} + 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!222 &1268522164 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268522161} + m_CullTransparentMesh: 1 --- !u!1001 &1268586767 PrefabInstance: m_ObjectHideFlags: 0 @@ -47891,6 +48115,9 @@ MonoBehaviour: images_slider: - {fileID: 603835442} - {fileID: 873971568} + gos_sliderhandle: + - {fileID: 994769554} + - {fileID: 965650747} texts_money: - {fileID: 1204699907} - {fileID: 1057025782} diff --git a/Assets/Scripts/UI/GachaUI.cs b/Assets/Scripts/UI/GachaUI.cs index a94e1de..6e73945 100644 --- a/Assets/Scripts/UI/GachaUI.cs +++ b/Assets/Scripts/UI/GachaUI.cs @@ -9,6 +9,7 @@ public class GachaUI : uScrollViewMgr public GameObject[] gos_grade; public Slider[] slider_lucky, slider_lucky2; public Image[] images_slider; // 알파 슬라이더 이미지들 + public GameObject[] gos_sliderhandle; public TextMeshProUGUI[] texts_money; // 0 앨범 오픈 재화, 1 챗 코인, 2 가챠 코인 public TextMeshProUGUI[] texts; // 0 럭키 % public GameObject go_CanEnterLuckyGame; @@ -37,6 +38,7 @@ public class GachaUI : uScrollViewMgr slider_lucky2[0].value = slider_lucky2[1].value = DSUtil.Get_SliderValue(cal - 1f); images_slider[0].color = images_slider[1].color = Color.white; texts[0].text = MyText.Get_PercentValueText_100(cal > 2f ? 2f : cal); + Set_SliderHandle(); } go_CanEnterLuckyGame.SetActive(SaveMgr.Ins.Get_Money(eMoney.Lucky) >= table_GlobalValue.Ins.Get_Float("LuckyPoint")); @@ -44,6 +46,12 @@ public class GachaUI : uScrollViewMgr Set_Money(); } + void Set_SliderHandle() + { + gos_sliderhandle[0].SetActive(slider_lucky[0].value < 1f); + gos_sliderhandle[1].SetActive(slider_lucky[0].value >= 1f); + } + IEnumerator Co_UpdateSlider() { float lucky = SaveMgr.Ins.Get_Money(eMoney.Lucky) / table_GlobalValue.Ins.Get_Float("LuckyPoint"); @@ -52,6 +60,9 @@ public class GachaUI : uScrollViewMgr float targetValue2 = Mathf.Max(lucky - 1f, 0f); // slider_lucky2 목표 slider_lucky2[1].value = targetValue2; + gos_sliderhandle[0].SetActive(slider_lucky[0].value < 1f); + gos_sliderhandle[1].SetActive(slider_lucky[0].value >= 1f); + float duration = 0.5f; // 각 슬라이더당 시간 float elapsed = 0f; @@ -65,6 +76,7 @@ public class GachaUI : uScrollViewMgr float t = Mathf.Clamp01(elapsed / duration); slider.value = Mathf.Lerp(startValue1, targetValue1, t); texts[0].text = MyText.Get_PercentValueText_100(slider.value + slider2.value); + Set_SliderHandle(); yield return null; } slider.value = targetValue1; @@ -79,6 +91,7 @@ public class GachaUI : uScrollViewMgr float t = Mathf.Clamp01(elapsed / duration); slider2.value = Mathf.Lerp(startValue2, targetValue2, t); texts[0].text = MyText.Get_PercentValueText_100(slider.value + slider2.value); + Set_SliderHandle(); yield return null; } slider2.value = targetValue2;