using QuizPleaseTest.Common.UI; using UniRx; using UnityEngine; namespace QuizPleaseTest.Boot.UI { public class LoadingUIView : UIView { [field: SerializeField] public Transform ProgressFill { get; private set; } private CompositeDisposable _disposables; public override void Initialize() { base.Initialize(); _disposables?.Dispose(); _disposables = new CompositeDisposable(); SetProgress(ViewModel.Progress.Value); ViewModel.Progress .Subscribe(SetProgress) .AddTo(_disposables); } public override void Release() { _disposables?.Dispose(); _disposables = null; base.Release(); } private void SetProgress(float progress) { if (ProgressFill == null) { return; } Vector3 scale = ProgressFill.localScale; scale.x = Mathf.Clamp01(progress); ProgressFill.localScale = scale; } } }