Members now appearing on host

This commit is contained in:
watsonb8
2019-07-05 17:37:10 -04:00
parent b18abf0400
commit 0d64c0732e
7 changed files with 61 additions and 35 deletions

View File

@ -14,7 +14,7 @@
<DataTemplate>
<Frame>
<Label
Text="{Binding .}"/>
Text="{Binding Username}"/>
</Frame>
</DataTemplate>
</hl:HorizontalList.ItemTemplate>

View File

@ -2,6 +2,7 @@
using System.Collections.Generic;
using Xamarin.Forms;
using Aurora.Design.Components.HorizontalList;
using Aurora.Models;
namespace Aurora.Design.Components.MemberList
{
@ -21,7 +22,7 @@ namespace Aurora.Design.Components.MemberList
/// <returns></returns>
public static readonly BindableProperty MembersProperty =
BindableProperty.Create(propertyName: "Members",
returnType: typeof(IEnumerable<string>),
returnType: typeof(IEnumerable<PartyMember>),
declaringType: typeof(MemberList),
defaultBindingMode: BindingMode.Default,
propertyChanged: OnMembersChanged);
@ -30,11 +31,11 @@ namespace Aurora.Design.Components.MemberList
/// Backing property for MembersProperty
/// </summary>
/// <value></value>
public IEnumerable<string> Members
public IEnumerable<PartyMember> Members
{
get
{
return (IEnumerable<string>)GetValue(MembersProperty);
return (IEnumerable<PartyMember>)GetValue(MembersProperty);
}
set
{
@ -54,7 +55,7 @@ namespace Aurora.Design.Components.MemberList
var membersList = control.FindByName("MembersHorizontalList") as HorizontalList.HorizontalList;
if (membersList != null)
{
membersList.ItemsSource = newValue as IEnumerable<string>;
membersList.ItemsSource = newValue as IEnumerable<PartyMember>;
}
}
}

View File

@ -3,6 +3,7 @@ using System.Collections.ObjectModel;
using Aurora.Executors;
using Aurora.Design.Components.HostSelector;
using Aurora.Services;
using Aurora.Models;
using Xamarin.Forms;
namespace Aurora.Design.Views.Party
@ -16,8 +17,6 @@ namespace Aurora.Design.Views.Party
public class PartyViewModel : BaseViewModel
{
private ObservableCollection<string> _members;
private PartyState _state;
private BaseExecutor _executor;
@ -26,32 +25,25 @@ namespace Aurora.Design.Views.Party
private string _port;
private ObservableCollection<PartyMember> _members;
public PartyViewModel()
{
_members = new ObservableCollection<string>()
{
"Kevin",
"Brandon",
"Sheila",
"Dale",
"Austin",
"Tori",
"Ashley",
"Spencer",
};
OnPropertyChanged("Members");
this.JoinCommand = new Command(OnJoinExecute, CanJoinExecute);
this.HostCommand = new Command(OnHostExecute, CanHostExecute);
_members = new ObservableCollection<PartyMember>();
State(PartyState.SelectingHost);
}
#region Properties
public ObservableCollection<string> Members
public ObservableCollection<PartyMember> Members
{
get { return _members; }
get
{
return _members;
}
set { SetProperty(ref _members, value); }
}
@ -87,6 +79,7 @@ namespace Aurora.Design.Views.Party
{
_state = state;
OnPropertyChanged("IsSelectingHost");
OnPropertyChanged("IsNotSelectingHost");
}
#region Commands
@ -117,6 +110,13 @@ namespace Aurora.Design.Views.Party
ServerService.Instance.Start();
_members = _executor.PartyMembers;
OnPropertyChanged("Members");
_executor.PartyMembers.CollectionChanged += (sender, e) =>
{
OnPropertyChanged("Members");
};
//Change state
State(PartyState.Connecting);
}