コード例 #1
0
ファイル: StyleReader.cs プロジェクト: Barathar/MCLauncher
        private Style ReadStyle(XElement style)
        {
            XElement images = style.XPathSelectElement("images");

            Style result = new Style
            {
                LauncherTitle               = XElementExtender.ReadName(style),
                LauncherVersion             = XElementExtender.ReadString(style, "version"),
                LauncherWidth               = XElementExtender.ReadInteger(style, "width"),
                LauncherHeight              = XElementExtender.ReadInteger(style, "height"),
                FontColor                   = XElementExtender.ReadColor(style, "fontColor"),
                DialogBackgroundColor       = XElementExtender.ReadColor(style, "dialogBackgroundColor"),
                DialogFontColor             = XElementExtender.ReadColor(style, "dialogFontColor"),
                LauncherBackgroundImage     = XElementExtender.ReadImage(images, "background") ?? Properties.Resources.filenotfound,
                LauncherOverlayImage        = XElementExtender.ReadImage(images, "overlay") ?? Properties.Resources.filenotfound,
                ServerOnlineImage           = XElementExtender.ReadImage(images, "serverOnline") ?? Properties.Resources.filenotfound,
                ServerOfflineImage          = XElementExtender.ReadImage(images, "serverOffline") ?? Properties.Resources.filenotfound,
                ServerPlayButtonImage       = XElementExtender.ReadImage(images, "buttonPlay") ?? Properties.Resources.filenotfound,
                ServerInstallButtonImage    = XElementExtender.ReadImage(images, "buttonInstall") ?? Properties.Resources.filenotfound,
                ServerUninstallButtonImage  = XElementExtender.ReadImage(images, "buttonUninstall") ?? Properties.Resources.filenotfound,
                ServerUpdateButtonImage     = XElementExtender.ReadImage(images, "buttonUpdate") ?? Properties.Resources.filenotfound,
                SettingsButtonImage         = XElementExtender.ReadImage(images, "buttonSettings") ?? Properties.Resources.filenotfound,
                RefreshButtonImage          = XElementExtender.ReadImage(images, "buttonRefresh") ?? Properties.Resources.filenotfound,
                ServerPatchNotesButtonImage = XElementExtender.ReadImage(images, "buttonPatchnotes") ?? Properties.Resources.filenotfound
            };

            result.ServerUninstallButtonGrayScaledImage = ImageManipulation.CreateGrayScaledImage(result.ServerUninstallButtonImage as Bitmap);


            OutputConsole.PrintVerbose(result, 3);
            return(result);
        }
コード例 #2
0
ファイル: ServerReader.cs プロジェクト: Barathar/MCLauncher
        private Server ReadServer(XElement server)
        {
            XElement images          = server.XPathSelectElement("style/images");
            XElement launcherProfile = server.XPathSelectElement("launcherProfile");
            XElement options         = server.XPathSelectElement("options");

            Server result = new Server
            {
                Name                = XElementExtender.ReadName(server),
                Version             = XElementExtender.ReadString(server, "version"),
                Ip                  = XElementExtender.ReadString(server, "server/url"),
                State               = XElementExtender.ReadString(server, "state"),
                StatusUri           = XElementExtender.ReadUri(server, "status"),
                PatchNotesUri       = XElementExtender.ReadUri(server, "patchnotesUrl"),
                PatchFilesUri       = XElementExtender.ReadUri(server, "patchUrl"),
                Image               = XElementExtender.ReadImage(images, "background") ?? Properties.Resources.filenotfound,
                LauncherProfileData = ReadLauncherProfileData(launcherProfile),
                Options             = ReadOptions(options)
            };

            result.GrayScaledImage = ImageManipulation.CreateGrayScaledImage(result.Image as Bitmap);

            OutputConsole.PrintVerbose(result, 1);
            return(result);
        }
コード例 #3
0
        private CleanupDirectory ReadCleanupDirectory(XElement item)
        {
            CleanupDirectory result = new CleanupDirectory
            {
                LocalDirectory = XElementExtender.ReadPath(item)
            };

            OutputConsole.PrintVerbose(result, 5);
            return(result);
        }
コード例 #4
0
ファイル: PlayerReader.cs プロジェクト: Barathar/MCLauncher
        private Player ReadPlayer(XElement player)
        {
            Player result = new Player
            {
                Name  = XElementExtender.ReadName(player),
                Image = XElementExtender.ReadImage(player)
            };

            OutputConsole.PrintVerbose(result, 2);
            return(result);
        }
コード例 #5
0
        private PatchFile ReadPatchFile(XElement item)
        {
            PatchFile result = new PatchFile
            {
                Filename       = XElementExtender.ReadName(item),
                DownloadUri    = XElementExtender.ReadUri(item),
                LocalDirectory = XElementExtender.ReadPath(item),
                Hash           = XElementExtender.ReadHash(item)
            };

            OutputConsole.PrintVerbose(result, 5);
            return(result);
        }
コード例 #6
0
ファイル: ServerReader.cs プロジェクト: Barathar/MCLauncher
        private Dictionary <string, string> ReadOptions(XElement options)
        {
            Dictionary <string, string> result = new Dictionary <string, string>();

            foreach (var item in options.XPathSelectElements("item"))
            {
                string key   = XElementExtender.ReadName(item);
                string value = XElementExtender.ReadValue(item);

                result.Add(key, value);
            }

            return(result);
        }
コード例 #7
0
ファイル: ServerReader.cs プロジェクト: Barathar/MCLauncher
        private LauncherProfileData ReadLauncherProfileData(XElement launcherProfile)
        {
            LauncherProfileData result = new LauncherProfileData
            {
                Name          = XElementExtender.ReadName(launcherProfile),
                Type          = XElementExtender.ReadString(launcherProfile, "type"),
                Icon          = XElementExtender.ReadString(launcherProfile, "icon"),
                LastVersionId = XElementExtender.ReadString(launcherProfile, "lastVersionId"),
                JavaArgs      = XElementExtender.ReadString(launcherProfile, "javaArgs"),
                GameDirectory = XElementExtender.ReadString(launcherProfile, "gameDir")
            };

            OutputConsole.PrintVerbose(result, 1);
            return(result);
        }
コード例 #8
0
        public Serverstatus Read(XDocument document)
        {
            XElement root = document.XPathSelectElement("root");

            Serverstatus result = new Serverstatus
            {
                Online          = XElementExtender.ReadBoolean(root, "online"),
                MessageOfTheDay = XElementExtender.ReadString(root, "motd"),
                GameMode        = XElementExtender.ReadString(root, "gameType"),
                MaxPlayers      = XElementExtender.ReadInteger(root, "playerMax"),
                CurrentPlayers  = XElementExtender.ReadInteger(root, "playerOnline"),
                Players         = new PlayerReader().Read(document)
            };

            OutputConsole.PrintVerbose(result, 2);
            return(result);
        }
コード例 #9
0
        public FileInfos Read(XDocument document)
        {
            XElement launcherProfilesJson = document.XPathSelectElement("root/launcher/launcherProfilesJson");
            XElement optionsTxt           = document.XPathSelectElement("root/launcher/optionsTxt");
            XElement minecraftExecutable  = document.XPathSelectElement("root/launcher/minecraftExecutable");

            FileInfos result = new FileInfos()
            {
                DefaultLauncherProfilesFile  = XElementExtender.ReadUri(launcherProfilesJson),
                LauncherProfilesFilename     = XElementExtender.ReadPath(launcherProfilesJson),
                DefaultOptionsFile           = XElementExtender.ReadUri(optionsTxt),
                OptionsFilename              = XElementExtender.ReadRelativePath(optionsTxt),
                DefaultMinecraftLauncherFile = XElementExtender.ReadUri(minecraftExecutable),
                MinecraftLauncherFilename    = XElementExtender.ReadPath(minecraftExecutable),
                MinecraftLauncherHash        = XElementExtender.ReadHash(minecraftExecutable)
            };

            OutputConsole.PrintVerbose(result, 1);
            return(result);
        }
コード例 #10
0
        public static string ReadRelativePath(XElement item)
        {
            string relPath = XElementExtender.ReadString(item, "relPath");

            return(relPath.Replace(@"/", "\\"));
        }
コード例 #11
0
        public static string ReadPath(XElement item)
        {
            string relPath = XElementExtender.ReadRelativePath(item);

            return(Path.Combine(Paths.ExecutingDirectory, relPath));
        }