Exemplo n.º 1
0
        private void ReadCanvasKind(YamlMappingNode mapping)
        {
            if (mapping.TryGetNode("light_mode", out var node))
            {
                switch (node.AsString())
                {
                case "normal":
                    LightMode = LightModeEnum.Normal;
                    break;

                case "unshaded":
                    LightMode = LightModeEnum.Unshaded;
                    break;

                case "light_only":
                    LightMode = LightModeEnum.LightOnly;
                    break;

                default:
                    throw new InvalidOperationException($"Invalid light mode: '{node.AsString()}'");
                }
            }

            if (mapping.TryGetNode("blend_mode", out node))
            {
                switch (node.AsString())
                {
                case "mix":
                    BlendMode = BlendModeEnum.Mix;
                    break;

                case "add":
                    BlendMode = BlendModeEnum.Add;
                    break;

                case "subtract":
                    BlendMode = BlendModeEnum.Subtract;
                    break;

                case "multiply":
                    BlendMode = BlendModeEnum.Multiply;
                    break;

                case "premultiplied_alpha":
                    BlendMode = BlendModeEnum.PremultipliedAlpha;
                    break;

                default:
                    throw new InvalidOperationException($"Invalid blend mode: '{node.AsString()}'");
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 解析処理
        /// </summary>
        /// <param name="data">解析対象バイト配列</param>
        /// <param name="startIndex">解析開始インデックス</param>
        /// <returns>解析済みインデックス</returns>
        public override int Analyze(byte[] data, int startIndex)
        {
            int retVal = 0;
            int index  = startIndex;

            int value = BitConverter.ToInt32(data, index);

            this.Mode = (LightModeEnum)value;
            index    += sizeof(int);

            retVal = index;

            return(retVal);
        }