using System; using System.Collections.Generic; using System.Threading.Tasks; namespace InABox.Core { public class CoreMenu where T : class { public List Items { get; } = new List(); public CoreMenu AddItem(string header, T? image, Func> action) { var result = new CoreMenuItem(header, image, action); Items.Add(result); return this; } public CoreMenu AddItem(string header, Func> action) { var result = new CoreMenuItem(header, null, action); Items.Add(result); return this; } public CoreMenu AddSeparator() { Items.Add(new CoreMenuSeparator()); return this; } public CoreMenu AddHeader(CoreMenuHeader header) { Items.Add(header); return this; } } }