public GameGroupLayoutCollectionViewModel(string title, IPlayerStatusFriendlyNameProvider playerStatusFriendlyNameProvider) { this.Title = title; AddDynamicLayoutHandler = new AddDynamicLayoutHandler <GameGroupLayoutViewModel>(this, ps => new GameGroupLayoutViewModel(ps), playerStatusFriendlyNameProvider); }
public LobbyCollectionViewModel(int alowedNumberOfItems, IPlayerStatusFriendlyNameProvider playerStatusFriendlyNameProvider) { this.AlowedNumberOfItems = alowedNumberOfItems; this.AddDynamicLayoutHandler = new AddDynamicLayoutHandler <LobbyViewModel>(this, ps => new LobbyViewModel(ps, AlowedNumberOfItems), playerStatusFriendlyNameProvider); }
public AddDynamicLayoutHandler(ObservableCollection <TLayout> layoutCollection, Func <PlayerStatusTypeViewModel, TLayout> createNewLayout, IPlayerStatusFriendlyNameProvider playerStatusFriendlyNameProvider) { _layoutCollection = layoutCollection; _createNewLayout = createNewLayout; _playerStatusFriendlyNameProvider = playerStatusFriendlyNameProvider; _layoutCollection.CollectionChanged += LayoutCollection_CollectionChanged; }
public ArenaViewModel(int type, string name, bool isNewGamesArena, IPlayerStatusFriendlyNameProvider playerStatusFriendlyNameProvider, IServiceLocator serviceLocator) : base(serviceLocator) { this.Type = type; this.Name = name; this.IsNewGamesArena = isNewGamesArena; AddDynamicLayoutHandler = new AddDynamicLayoutHandler <ArenaLayoutViewModel>(this.Layouts, playerStatus => new ArenaLayoutViewModel(this, playerStatus, GetDefaultLayout().Attributes.Clone(), GetDefaultLayout().DataGridInfo.Clone()), playerStatusFriendlyNameProvider); Layouts.CollectionChanged += Layouts_CollectionChanged; }
public PlayerStatusTypeViewModel(PlayerStatusType playerStatus, IPlayerStatusFriendlyNameProvider playerStatusFriendlyNameProvider) { PlayerStatus = playerStatus; _playerStatusFriendlyNameProvider = playerStatusFriendlyNameProvider; _playerStatusFriendlyNameProvider.Changed += PlayerStatusFriendlyNameProvider_Changed; }