public override Gradient AssembleValue(ObjectModel value, AssemblyContext context) { ColorAssembler assembler = new ColorAssembler(); Gradient gradient = new Gradient(); gradient.mode = value.GetValue <GradientMode>("Mode"); gradient.colorKeys = value.GetArray("ColorKeys").Select(x => new GradientColorKey((Color)assembler.Assemble((x as ObjectModel).GetObject("Color"), context), (x as ObjectModel).GetValue <float>("Time"))).ToArray(); gradient.alphaKeys = value.GetArray("AlphaKeys").Select(x => new GradientAlphaKey((x as ObjectModel).GetValue <float>("Alpha"), (x as ObjectModel).GetValue <float>("Time"))).ToArray(); return(gradient); }