using Godot;

namespace Rokojori
{  
  [Tool]
  [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/FlareVFX.svg") ]
  public partial class FlarePreset:Resource
  {
    [Export]
    public Color mainColor = Colors.White;

    [Export( PropertyHint.Range, "-180,180" )]
    public float hueShift = 0;

    [Export( PropertyHint.Range, "-180,180" )]
    public float temparatureShift = 0;

    [Export( PropertyHint.Range, "-100,100" )]
    public float saturationShift = 0;

    [Export( PropertyHint.Range, "-100,100" )]
    public float lightnessShift = 0;

    [Export( PropertyHint.Range, "0,1" )]
    public float opacity = 1f;

    [Export( PropertyHint.Range, "0,2" )]
    public float scale = 1f;

    [Export( PropertyHint.Range, "1,10" )]
    public float extension = 1f;

    [Export]
    public bool hide = false;

    [Export]
    public FlareLayer[] layers = [];


    [ExportGroup("Settings")]
    [Export]
    public FlareFading fading = new EdgeFlareFading();  
    
    [Export]  
    public FlareChromaticAberation chromaticAberation = null;
    
    [Export]
    public FlareOcclusion occlusion = new FadingFlareOcclusion();

    [Export]
    public FlareBlendMode.BlendModeType blendMode = FlareBlendMode.BlendModeType.Add;

    [Export]
    public FlareStencilMode stencilMode = null;
       
  }
}