コード例 #1
0
 public void OpenContextMenu(MCSkinPack skinPack)
 {
     GetParent().LoadedSkinPacks.SelectedItem = skinPack;
     MoreButton.ContextMenu.PlacementTarget   = MoreButton;
     MoreButton.ContextMenu.Placement         = System.Windows.Controls.Primitives.PlacementMode.Bottom;
     MoreButton.ContextMenu.DataContext       = skinPack;
     MoreButton.ContextMenu.IsOpen            = true;
 }
コード例 #2
0
        public EditSkinPackScreen()
        {
            CurrentSkinPack = new MCSkinPack(GetNewPackFolder());
            DataContext     = this;

            InitializeComponent();
            Init(false);
        }
コード例 #3
0
        public EditSkinScreen(MCSkinPack _skinPack)
        {
            skinPack = _skinPack;
            skin     = new MCSkin(_skinPack.Directory);

            InitializeComponent();
            Init(false);
            InitSkinFormFeilds();
        }
コード例 #4
0
        public EditSkinScreen(MCSkinPack _skinPack)
        {
            InitializeComponent();

            skinPack   = _skinPack;
            skin       = new MCSkin(_skinPack.Directory);
            temp_skin  = (MCSkin)skin.Clone();
            isEditMode = false;
        }
コード例 #5
0
        public EditSkinPackScreen(MCSkinPack _skinPack, int _index)
        {
            CurrentSkinPack = _skinPack;
            DataContext     = this;
            Index           = _index;

            InitializeComponent();
            Init(true);
            InitEditFeilds();
        }
コード例 #6
0
        public EditSkinScreen(MCSkinPack _skinPack, MCSkin _skin, int index)
        {
            skinPack   = _skinPack;
            skin       = _skin;
            skin_index = index;

            InitializeComponent();
            Init(true);
            InitEditSkinFormFeilds();
        }
コード例 #7
0
        private void UpdateTextureDropdown(MCSkinPack skinPack)
        {
            TextureCombobox.Items.Clear();
            var possible_images = System.IO.Directory.GetFiles(skinPack.Directory, "*.png", System.IO.SearchOption.AllDirectories);

            foreach (var entry in possible_images)
            {
                TextureCombobox.Items.Add(System.IO.Path.GetFileName(entry));
            }
        }
コード例 #8
0
        public EditSkinScreen(MCSkinPack _skinPack, MCSkin _skin, int index)
        {
            InitializeComponent();

            skinPack   = _skinPack;
            skin       = _skin;
            temp_skin  = (MCSkin)skin.Clone();
            skin_index = index;

            isEditMode = true;
        }
コード例 #9
0
        public void ReloadSkinPacks()
        {
            LoadedSkinPacks.Items.Clear();
            SkinPacks.Clear();

            var installation = ConfigManager.CurrentInstallation;

            if (installation == null)
            {
                return;
            }

            string InstallationPath = Filepaths.GetInstallationsFolderPath(ConfigManager.CurrentProfile, installation.DirectoryName);
            string normal_folder    = Filepaths.GetSkinPacksFolderPath(InstallationPath, false);
            string dev_folder       = Filepaths.GetSkinPacksFolderPath(InstallationPath, true);

            if (Directory.Exists(normal_folder))
            {
                AddPacks(normal_folder);
            }
            if (Directory.Exists(dev_folder))
            {
                AddPacks(dev_folder);
            }

            UpdateAddSkinButton();

            void AddPacks(string _SourceFolder)
            {
                var SourceFolder = new DirectoryInfo(_SourceFolder);
                var FoundFolders = SourceFolder.GetDirectories();

                foreach (var PossiblePack in FoundFolders)
                {
                    if (PossiblePack.GetFiles().ToList().Exists(x => x.Name == "manifest.json"))
                    {
                        var result = MCSkinPack.ValidatePack(PossiblePack.FullName);
                        if (result != null)
                        {
                            SkinPacks.Add(result);
                            LoadedSkinPacks.Items.Add(result);
                        }
                    }
                }
            }
        }
コード例 #10
0
        public async void ReloadSkinPacks()
        {
            await this.Dispatcher.InvokeAsync(() =>
            {
                SkinPacks.Clear();

                var installation = LauncherModel.Default.Config.CurrentInstallation;

                if (installation == null)
                {
                    return;
                }

                string InstallationPath = LauncherModel.Default.FilepathManager.GetInstallationsFolderPath(LauncherModel.Default.Config.CurrentProfileUUID, installation.DirectoryName);
                string normal_folder    = LauncherModel.Default.FilepathManager.GetSkinPacksFolderPath(InstallationPath, false);
                string dev_folder       = LauncherModel.Default.FilepathManager.GetSkinPacksFolderPath(InstallationPath, true);

                if (Directory.Exists(normal_folder))
                {
                    AddPacks(normal_folder);
                }
                if (Directory.Exists(dev_folder))
                {
                    AddPacks(dev_folder);
                }

                UpdateAddSkinButton();

                void AddPacks(string _SourceFolder)
                {
                    var SourceFolder = new DirectoryInfo(_SourceFolder);
                    var FoundFolders = SourceFolder.GetDirectories();
                    foreach (var PossiblePack in FoundFolders)
                    {
                        if (PossiblePack.GetFiles().ToList().Exists(x => x.Name == "manifest.json"))
                        {
                            var result = MCSkinPack.ValidatePack(PossiblePack.FullName);
                            if (result != null)
                            {
                                SkinPacks.Add(result);
                            }
                        }
                    }
                }
            });
        }
コード例 #11
0
 private void UpdateLocalizationDropdown(MCSkinPack skinPack)
 {
     LocalizationTextBox.Items.Clear();
     foreach (var item in skinPack.Texts.Values.Values)
     {
         foreach (var entry in item.Global)
         {
             string skin_prefix = string.Format("skin.{0}.", skinPack.Content.localization_name);
             if (entry.KeyName.StartsWith(skin_prefix))
             {
                 string localizationName = entry.KeyName.Replace(skin_prefix, "");
                 if (!LocalizationTextBox.Items.Contains(localizationName))
                 {
                     LocalizationTextBox.Items.Add(localizationName);
                 }
             }
         }
     }
 }
コード例 #12
0
 public void OpenFolder(MCSkinPack i)
 {
     Process.Start("explorer.exe", i.Directory);
 }