fCraft.Drawing.BlockPalette.GetPalette C# (CSharp) Method

GetPalette() private method

private GetPalette ( StandardBlockPalettes palette ) : BlockPalette
palette StandardBlockPalettes
return BlockPalette
        public static BlockPalette GetPalette( StandardBlockPalettes palette )
        {
            switch( palette ) {
                case StandardBlockPalettes.Light:
                    return Light;
                case StandardBlockPalettes.Dark:
                    return Dark;
                case StandardBlockPalettes.Layered:
                    return Layered;
                case StandardBlockPalettes.Gray:
                    return Gray;
                case StandardBlockPalettes.DarkGray:
                    return DarkGray;
                case StandardBlockPalettes.LayeredGray:
                    return LayeredGray;
                case StandardBlockPalettes.BW:
                    return BW;
                default:
                    throw new ArgumentOutOfRangeException( "palette" );
            }
        }

Usage Example

示例#1
0
        public override bool ReadParams(Command cmd)
        {
            // get image URL
            string urlString = cmd.Next();

            if (String.IsNullOrEmpty(urlString))
            {
                return(false);
            }

            // if string starts with "++", load image from imgur
            if (urlString.StartsWith("++"))
            {
                urlString = "http://i.imgur.com/" + urlString.Substring(2);
            }

            // prepend the protocol, if needed (assume http)
            if (!urlString.StartsWith("http://", StringComparison.OrdinalIgnoreCase))
            {
                urlString = "http://" + urlString;
            }

            // validate the image URL
            Uri url;

            if (!Uri.TryCreate(urlString, UriKind.Absolute, out url))
            {
                Player.Message("DrawImage: Invalid URL given.");
                return(false);
            }
            else if (!url.Scheme.Equals(Uri.UriSchemeHttp) && !url.Scheme.Equals(Uri.UriSchemeHttps))
            {
                Player.Message("DrawImage: Invalid URL given. Only HTTP and HTTPS links are allowed.");
                return(false);
            }
            ImageUrl = url;

            // Check if player gave optional second argument (palette name)
            string paletteName = cmd.Next();

            if (paletteName != null)
            {
                StandardBlockPalettes paletteType;
                if (EnumUtil.TryParse(paletteName, out paletteType, true))
                {
                    Palette = BlockPalette.GetPalette(paletteType);
                }
                else
                {
                    Player.Message("DrawImage: Unrecognized palette \"{0}\". Available palettes are: \"{1}\"",
                                   paletteName,
                                   Enum.GetNames(typeof(StandardBlockPalettes)).JoinToString());
                    return(false);
                }
            }
            else
            {
                // default to "Light" (lit single-layer) palette
                Palette = BlockPalette.Light;
            }

            // All set
            return(true);
        }