using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace RconGUI { public class ConsoleObject : INotifyPropertyChanged { public string Name { get; set; } public string Help { get; set; } public string Flags { get; set; } public event PropertyChangedEventHandler? PropertyChanged; public void OnPropertyChanged([CallerMemberName] string prop = "") { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(prop)); } } public class ConsoleObject : ConsoleObject { private T _value; public T Value { get { return _value; } set { _value = value; OnPropertyChanged(); } } public delegate void ValueChanged(ConsoleObject sender); public event ValueChanged Changed; public ConsoleObject(T value) { _value = value; } } }