You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.2 KiB
71 lines
1.2 KiB
2 years ago
|
using UnityEngine;
|
||
|
using System.Collections;
|
||
|
using System.ComponentModel;
|
||
|
using UIWidgets;
|
||
|
|
||
|
namespace UIWidgetsSamples.Shops {
|
||
|
/// <summary>
|
||
|
/// Item.
|
||
|
/// </summary>
|
||
|
public class Item : IObservable, INotifyPropertyChanged {
|
||
|
/// <summary>
|
||
|
/// The name.
|
||
|
/// </summary>
|
||
|
public string Name;
|
||
|
|
||
|
int count;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Occurs when data changed.
|
||
|
/// </summary>
|
||
|
public event OnChange OnChange;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Occurs when a property value changes.
|
||
|
/// </summary>
|
||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Gets or sets the count. -1 for infinity count.
|
||
|
/// </summary>
|
||
|
/// <value>The count.</value>
|
||
|
public int Count {
|
||
|
get {
|
||
|
return count;
|
||
|
}
|
||
|
set {
|
||
|
if (count==-1)
|
||
|
{
|
||
|
Changed();
|
||
|
return ;
|
||
|
}
|
||
|
count = value;
|
||
|
Changed();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Initializes a new instance of the <see cref="UIWidgetsSamples.Shops.Item"/> class.
|
||
|
/// </summary>
|
||
|
/// <param name="name">Name.</param>
|
||
|
/// <param name="count">Count.</param>
|
||
|
public Item(string name, int count)
|
||
|
{
|
||
|
Name = name;
|
||
|
Count = count;
|
||
|
}
|
||
|
|
||
|
void Changed()
|
||
|
{
|
||
|
if (PropertyChanged!=null)
|
||
|
{
|
||
|
PropertyChanged(this, null);
|
||
|
}
|
||
|
|
||
|
if (OnChange!=null)
|
||
|
{
|
||
|
OnChange();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|