using PrizeSystem; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class VitrinaPrizeConfigurator : BasePrizeConfigurator { public Image icon; public Transform pointer; public List pivots; public List toggles; private int _index; public override void Configure(PrizeType prizeType) { icon.sprite = PrizeSystemManager.GetPrizeIcon(prizeType); _index = 0; foreach (MToggle toggle in toggles) toggle.DisplayImmediate(false); UpdatePointerPosition(); } public override void Confirm() { List boxes = new(); for (int i = 0; i < toggles.Count; i++) { if (toggles[i].Value) boxes.Add(i + 1); } Complete(PrizeUtils.CreatePrize(boxes.ToArray())); } public override void UpdateControls() { Vector2Int axes = In.GetAxis(JoystickSide.Both, InteractMode.Discrete); _index = Mathf.Clamp(_index - axes.y, 0, toggles.Count - 1); UpdatePointerPosition(); if (axes.x != 0) toggles[_index].SetValue(axes.x > 0); if (In.GetAction(JoystickSide.Both, InteractMode.Discrete)) Confirm(); } private void UpdatePointerPosition() { pointer.position = pivots[_index].position; } }