Пример #1
0
 public AuxiliariesRootViewModel(
     ModViewModel modVM,
     ResourcePackViewModel resourcePackVM,
     ShaderPackViewModel shaderPackVM)
 {
     ModVM          = modVM;
     ResourcePackVM = resourcePackVM;
     ShaderPackVM   = shaderPackVM;
 }
Пример #2
0
 public AuxiliariesRootViewModel(
     ModViewModel modVM,
     ResourcePackViewModel resourcePackVM,
     SkinViewModel skinVM)
 {
     ModVM          = modVM;
     ResourcePackVM = resourcePackVM;
     SkinVM         = skinVM;
 }
Пример #3
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            NavigationService.Lock();

            ResourcePack resourcePack;

            switch (e.Parameter)
            {
            case FirebaseKey key:
                resourcePack = await RestApiService <ResourcePack> .Get(key);

                break;

            case IFirebaseEntity entity:
                resourcePack = await RestApiService <ResourcePack> .Get(entity.Key);

                break;

            default:
                await NotificationService.DisplayErrorMessage("Developer error.");

                throw new InvalidOperationException();
            }

            if (resourcePack == null)
            {
                await NotificationService.DisplayErrorMessage("This resource pack does not exist.");

                NavigationService.GoBack();
            }

            ViewModel = new ResourcePackViewModel(resourcePack);

            InitializeComponent();

            NavigationService.Unlock();

            ViewModel.Model.Views++;

            if (!await RestApiService <ResourcePack> .Update(ViewModel.Model))
            {
                Logger.WriteLine($"Failed to increment view counter for code {ViewModel.Model.Key}.");
            }

            NavigationService.SetHeaderTitle(ViewModel.Model?.Name);
        }
Пример #4
0
        public void Init([NotNull] ResourcePackViewModel packViewModel)
        {
            Assert.IsNotNull(packViewModel, nameof(packViewModel));

            _owner.SetupDisposables();

            var viewModel = packViewModel.GetViewModel(_name);

            Assert.IsNotNull(viewModel, nameof(viewModel));

            UpdateValue(viewModel.Amount.Value);
            StopAppear();
            viewModel.Amount
            .Skip(1)
            .Do(StartAppear)
            .Delay(TimeSpan.FromSeconds(0.75))
            .Do(_ => StopAppear())
            .Subscribe(UpdateValue)
            .AddTo(_owner.Disposables);
        }