void SetupUpdates() { Updates = new CollectionLibraryItemViewModel(_library, new BuiltInCollection(_game.Modding()) { Name = "Updates" }, SixIconFont.withSIX_icon_Arrow_Down_Open, isFeatured: true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 2 }; lock (Network.Items) Updates.Model.AddModAndUpdateState( Network.Items.OfType <Mod>().Where(x => x.State == ContentState.UpdateAvailable).ToArray(), _contentList); _disposables.Add(Network.Items.ItemChanged.Where(x => x.PropertyName == "State") .Subscribe(x => HandleModStateChanged((Mod)x.Sender))); _disposables.Add(Updates.WhenAnyValue(x => x.HasItems) .Subscribe(x => { if (x) { Items.AddLocked(Updates); } else { Items.RemoveLocked(Updates); Updates.IsSelected = false; } })); }
void SetupUpdates() { _updates = new MissionContentLibraryItemViewModel <BuiltInContentContainer>(_library, new BuiltInContentContainer("Updates"), SixIconFont.withSIX_icon_Arrow_Down_Dir, isFeatured: true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 2 }; _network.Items.OfType <Mission>().Where(x => x.State == ContentState.UpdateAvailable) .ForEach(x => _updates.Items.Add(x)); _disposables.Add(_network.Items.ItemChanged.Where(x => x.PropertyName == "State") .Subscribe(x => HandleMissionStateChanged((MissionBase)x.Sender))); _disposables.Add(_updates.WhenAnyValue(x => x.HasItems) .Subscribe(x => { if (x) { Items.AddLocked(_updates); } else { Items.RemoveLocked(_updates); } })); }
void SetupBuiltInFeatured() { var container = new BuiltInContentContainer("Featured"); _builtinFeatured = new BrowseContentLibraryItemViewModel <BuiltInContentContainer>(_library, container, SixIconFont.withSIX_icon_Ribbon, BuiltInGroup, true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 7, IsHead = true }; container.Items.AddRangeLocked(_game.Lists.Collections.Where(x => _desiredModsets.Any(y => y.Equals(x.Id))).Concat(Network.Items.Where(IsFeatured))); Items.AddLocked(_builtinFeatured); }