Frame/Assets/Scripts/UI/MVVM/View/MallStoreItemView.cs

61 lines
1.9 KiB
C#

using TMPro;
using uMVVM.Sources.Infrastructure;
using UnityEngine.UI;
namespace Game.MVVM.Model
{
public class MallStoreItemView : UnityGuiView<MallStoreItemViewModel>
{
private string icon;
private object data;
public Image imgIcon;
public TMP_Text txtName;
public Toggle tog;
protected override void OnInitialize()
{
base.OnInitialize();
this.Binder.Add<long>("ItemId", this.IdOnValueChanged);
this.Binder.Add<string>("ItemName", this.ItemNameOnValueChanged);
this.Binder.Add<string>("ItemIcon", this.ItemIconOnValueChanged);
this.Binder.Add<string>("ItemDesc", this.ItemDescOnValueChanged);
this.Binder.Add<object>("ItemData", this.ItemDataOnValueChanged);
this.tog.onValueChanged.AddListener(this.ClickToggle);
}
private void ClickToggle(bool isTrue)
{
this.BindingContext.OnClickTog?.Invoke(isTrue, this.txtName.text, this.gameObject);
}
private void ItemDataOnValueChanged(object oldvalue, object newvalue)
{
this.BindingContext.ItemData.Value = newvalue;
}
private void ItemIconOnValueChanged(string oldvalue, string newvalue)
{
this.BindingContext.ItemIcon.Value = newvalue;
this.icon = newvalue;
this.imgIcon = null;
}
private void ItemDescOnValueChanged(string oldvalue, string newvalue)
{
this.BindingContext.ItemDesc.Value = newvalue;
}
private void ItemNameOnValueChanged(string oldvalue, string newvalue)
{
this.BindingContext.ItemName.Value = newvalue;
this.txtName.text = newvalue;
}
private void IdOnValueChanged(long oldvalue, long newvalue)
{
this.BindingContext.ItemId.Value = newvalue;
}
}
}