Пример #1
0
        public ISectionOptions Get(RenderingParameters parameters)
        {
            var options = new SectionOptions()
            {
                BackgroundColor  = GetParameter(parameters, Templates.NewsletterSectionParameters.RenderingParameters.BackgroundColor, "#fff"),
                ContentFontColor = GetParameter(parameters, Templates.NewsletterSectionParameters.RenderingParameters.ContentFontColor, "#000"),
                HeadingFontColor = GetParameter(parameters, Templates.NewsletterSectionParameters.RenderingParameters.HeadingFontColor, "#000"),
                LinkColor        = GetParameter(parameters, Templates.NewsletterSectionParameters.RenderingParameters.LinkColor, "#000")
            };

            return(options);
        }
Пример #2
0
        public static int[] WriteOptions(BBData data, OptionInfo opt, StringsChunkBuilder strings)
        {
            var ret = new SectionOptions();
            var stringOffsetOffsets = new List <int>();

            unsafe
            {
                for (int i = 0; i < 2; i++)
                {
                    ret._pad0[i] = opt._pad0[i];
                }
                for (int i = 0; i < 0xC; i++)
                {
                    ret._pad1[i] = opt._pad1[i];
                }
            }
            ret.GEN8FlagsDup = opt.InfoFlags;

            if (opt.Constants == null)
            {
                ret.ConstMap.Count = 0;
            }
            else
            {
                ret.ConstMap.Count = (uint)opt.Constants.Count;
            }

            var tmp = new BinBuffer();

            tmp.Write(ret);
            data.Buffer.Write(tmp, 0, tmp.Size - 12, 8);

            if (opt.Constants != null)
            {
                foreach (var kvp in opt.Constants)
                {
                    stringOffsetOffsets.Add(data.Buffer.Position + 8);
                    data.Buffer.Write(strings.GetOffset(kvp.Key));
                    stringOffsetOffsets.Add(data.Buffer.Position + 8);
                    data.Buffer.Write(strings.GetOffset(kvp.Value));
                }
            }

            return(stringOffsetOffsets.ToArray());
        }