using System.Collections.ObjectModel; using Aurora.Proto.Party; using Aurora.Models.Media; using Aurora.Services.Settings; namespace Aurora.Design.Views.Party { public enum PartyStateV2 { SelectingHost, InParty, Hosting, Connecting, } public class BasePartyViewModel : BasePlayerViewModel { protected string _hostname; private PartyStateV2 _state; private ObservableCollection _members; private ObservableCollection _queue; private BaseMedia _selectedMedia; private ISettingsService _settingsService; private int _selectedTabIndex; public BasePartyViewModel( ISettingsService settingsService ) { _members = new ObservableCollection(); _queue = new ObservableCollection(); this._settingsService = settingsService; } public int SelectedTabIndex { get { return _selectedTabIndex; } set { SetProperty(ref _selectedTabIndex, value); } } /// /// Publc property for the members list /// /// public ObservableCollection Members { get { return _members; } set { SetProperty(ref _members, value); } } /// /// Public property for the currently selected song. /// /// public BaseMedia SelectedSong { get { return _selectedMedia; } set { SetProperty(ref _selectedMedia, value); } } public PartyStateV2 State { get { return _state; } set { _state = value;} } } }