using PrizeSystem; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.UI; public class QrPrizeConfigurator : BasePrizeConfigurator { [SerializeField, FormerlySerializedAs("icon")] private Image _icon; [SerializeField, FormerlySerializedAs("textInput")] private TextInput _textInput; protected override void Awake() { base.Awake(); _textInput.OnComplete += OnTextCompleted; } protected override void OnDestroy() { _textInput.OnComplete -= OnTextCompleted; base.OnDestroy(); } public override void Configure(PrizeType prizeType) { _icon.sprite = PrizeSystemManager.GetPrizeIcon(prizeType); _textInput.SetDestroyOnComplete(false); _textInput.Initialize(12, Alphabets.RUS_AND_DIGITS); } public override void Confirm() { OnTextCompleted(_textInput.CollectText()); } public override void UpdateControls() { _textInput.UpdateControls(); } private void OnTextCompleted(string text) { if (!string.IsNullOrWhiteSpace(text)) Complete(PrizeUtils.CreatePrize(text)); } }