가챠 슬라이더 핸들

This commit is contained in:
Ino 2025-09-20 06:46:22 +09:00
parent 65e55ca8b6
commit f972d862ad
2 changed files with 244 additions and 4 deletions

View File

@ -9242,6 +9242,7 @@ RectTransform:
- {fileID: 399951205} - {fileID: 399951205}
- {fileID: 1234507984} - {fileID: 1234507984}
- {fileID: 2035520693} - {fileID: 2035520693}
- {fileID: 994769555}
m_Father: {fileID: 1370378046} m_Father: {fileID: 1370378046}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
@ -9291,12 +9292,12 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 617982683} m_TargetGraphic: {fileID: 617982683}
m_FillRect: {fileID: 617982682} m_FillRect: {fileID: 617982682}
m_HandleRect: {fileID: 0} m_HandleRect: {fileID: 994769555}
m_Direction: 0 m_Direction: 0
m_MinValue: 0 m_MinValue: 0
m_MaxValue: 1 m_MaxValue: 1
m_WholeNumbers: 0 m_WholeNumbers: 0
m_Value: 0.423 m_Value: 0.674
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
@ -15340,7 +15341,7 @@ RectTransform:
m_Father: {fileID: 2035520693} m_Father: {fileID: 2035520693}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 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_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
@ -19742,7 +19743,7 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 196885464} m_TargetGraphic: {fileID: 196885464}
m_FillRect: {fileID: 196885462} m_FillRect: {fileID: 196885462}
m_HandleRect: {fileID: 0} m_HandleRect: {fileID: 965650748}
m_Direction: 0 m_Direction: 0
m_MinValue: 0 m_MinValue: 0
m_MaxValue: 1 m_MaxValue: 1
@ -19766,6 +19767,7 @@ RectTransform:
- {fileID: 1883792014} - {fileID: 1883792014}
- {fileID: 1267946106} - {fileID: 1267946106}
- {fileID: 929396571} - {fileID: 929396571}
- {fileID: 965650748}
m_Father: {fileID: 1370378046} m_Father: {fileID: 1370378046}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
@ -21495,6 +21497,81 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} 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 --- !u!1 &924484583
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -22513,6 +22590,42 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} 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 --- !u!1 &971360828
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -23208,6 +23321,42 @@ BoxCollider2D:
m_AutoTiling: 0 m_AutoTiling: 0
m_Size: {x: 5000, y: 100} m_Size: {x: 5000, y: 100}
m_EdgeRadius: 0 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 --- !u!1 &995025952
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -30415,6 +30564,81 @@ MonoBehaviour:
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] 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 --- !u!1001 &1268586767
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -47891,6 +48115,9 @@ MonoBehaviour:
images_slider: images_slider:
- {fileID: 603835442} - {fileID: 603835442}
- {fileID: 873971568} - {fileID: 873971568}
gos_sliderhandle:
- {fileID: 994769554}
- {fileID: 965650747}
texts_money: texts_money:
- {fileID: 1204699907} - {fileID: 1204699907}
- {fileID: 1057025782} - {fileID: 1057025782}

View File

@ -9,6 +9,7 @@ public class GachaUI : uScrollViewMgr
public GameObject[] gos_grade; public GameObject[] gos_grade;
public Slider[] slider_lucky, slider_lucky2; public Slider[] slider_lucky, slider_lucky2;
public Image[] images_slider; // 알파 슬라이더 이미지들 public Image[] images_slider; // 알파 슬라이더 이미지들
public GameObject[] gos_sliderhandle;
public TextMeshProUGUI[] texts_money; // 0 앨범 오픈 재화, 1 챗 코인, 2 가챠 코인 public TextMeshProUGUI[] texts_money; // 0 앨범 오픈 재화, 1 챗 코인, 2 가챠 코인
public TextMeshProUGUI[] texts; // 0 럭키 % public TextMeshProUGUI[] texts; // 0 럭키 %
public GameObject go_CanEnterLuckyGame; 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); slider_lucky2[0].value = slider_lucky2[1].value = DSUtil.Get_SliderValue(cal - 1f);
images_slider[0].color = images_slider[1].color = Color.white; images_slider[0].color = images_slider[1].color = Color.white;
texts[0].text = MyText.Get_PercentValueText_100(cal > 2f ? 2f : cal); 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")); 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(); 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() IEnumerator Co_UpdateSlider()
{ {
float lucky = SaveMgr.Ins.Get_Money(eMoney.Lucky) / table_GlobalValue.Ins.Get_Float("LuckyPoint"); 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 목표 float targetValue2 = Mathf.Max(lucky - 1f, 0f); // slider_lucky2 목표
slider_lucky2[1].value = targetValue2; 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 duration = 0.5f; // 각 슬라이더당 시간
float elapsed = 0f; float elapsed = 0f;
@ -65,6 +76,7 @@ public class GachaUI : uScrollViewMgr
float t = Mathf.Clamp01(elapsed / duration); float t = Mathf.Clamp01(elapsed / duration);
slider.value = Mathf.Lerp(startValue1, targetValue1, t); slider.value = Mathf.Lerp(startValue1, targetValue1, t);
texts[0].text = MyText.Get_PercentValueText_100(slider.value + slider2.value); texts[0].text = MyText.Get_PercentValueText_100(slider.value + slider2.value);
Set_SliderHandle();
yield return null; yield return null;
} }
slider.value = targetValue1; slider.value = targetValue1;
@ -79,6 +91,7 @@ public class GachaUI : uScrollViewMgr
float t = Mathf.Clamp01(elapsed / duration); float t = Mathf.Clamp01(elapsed / duration);
slider2.value = Mathf.Lerp(startValue2, targetValue2, t); slider2.value = Mathf.Lerp(startValue2, targetValue2, t);
texts[0].text = MyText.Get_PercentValueText_100(slider.value + slider2.value); texts[0].text = MyText.Get_PercentValueText_100(slider.value + slider2.value);
Set_SliderHandle();
yield return null; yield return null;
} }
slider2.value = targetValue2; slider2.value = targetValue2;