예제 #1
0
        /// <summary>using( GradientFillScope ){ /*code*/ } temporarily enables and overrides gradient fill within that scope, automatically restoring the previous state once you leave the scope</summary>
        public static GradientFillStack GradientFillScope(GradientFill fill)
        {
            GradientFillStack stack = new GradientFillStack(Draw.UseGradientFill, Draw.GradientFill);               // pushes

            Draw.UseGradientFill = true;
            Draw.GradientFill    = fill;
            return(stack);
        }
예제 #2
0
 internal static void ApplyColorOrFill <T>(T fillable, Color baseColor) where T : MetaMpb, IFillableMpb
 {
     if (Draw.style.useGradients)
     {
         GradientFill fill = Draw.style.gradientFill;
         fillable.color.Add(fill.colorStart.ColorSpaceAdjusted());
         fillable.fillType.Add((int)fill.type);
         fillable.fillSpace.Add((float)fill.space);
         fillable.fillStart.Add(fill.GetShaderStartVector());
         fillable.fillColorEnd.Add(fill.colorEnd.ColorSpaceAdjusted());
         fillable.fillEnd.Add(fill.linearEnd);
     }
     else
     {
         fillable.color.Add(baseColor.ColorSpaceAdjusted());
         fillable.fillType.Add(GradientFill.FILL_NONE);
         fillable.fillSpace.Add(default);