Files
riversong-code-showcase/Source/Riversong/Game/UI/Panels/BuildingPanel/HousePanelUpgradeMaterialUIView.cs
2026-05-21 16:04:49 +02:00

37 lines
1.3 KiB
C#

using Cysharp.Threading.Tasks;
using UnityEngine.UIElements;
namespace DanieleMarotta.RiversongCodeShowcase
{
public class HousePanelUpgradeMaterialUIView : UIView<HousePanelUpgradeMaterialModel>
{
private VisualElement _remaining;
private VisualElement _checkIcon;
public override UniTask InitializeAsync(UIService uiService, VisualElement rootElement)
{
base.InitializeAsync(uiService, rootElement);
_remaining = rootElement.Q<VisualElement>(className: "house-panel__remaining");
_checkIcon = rootElement.Q<VisualElement>(className: "house-panel__upgrade-material-check");
_checkIcon.style.display = DisplayStyle.None;
return UniTask.CompletedTask;
}
protected override void OnModelPropertyChanged(object sender, BindablePropertyChangedEventArgs e)
{
base.OnModelPropertyChanged(sender, e);
switch (e.propertyName)
{
case nameof(HousePanelUpgradeMaterialModel.Done):
_remaining.style.display = Model.Done ? DisplayStyle.None : DisplayStyle.Flex;
_checkIcon.style.display = Model.Done ? DisplayStyle.Flex : DisplayStyle.None;
break;
}
}
}
}