//
//  MaskedBurstRenderable.swift
//  Adamantium
//
//  Created by Sunny Uppal on 12/18/24.
//

public class MaskedBurstRenderable: ConfiguredQuadRenderable<MaskedBurstRenderable.Config> {
    
    public struct Config: QuadRenderConfiguration {
        
        internal let rotation: ADFloat
        internal let ray_count: ADFloat
        internal let x_offset: ADFloat
        internal let y_offset: ADFloat
        
        public init(
            rotation: ADFloat = 0.0,
            rayCount: ADFloat = 5.0,
            xOffset: ADFloat = 0.0,
            yOffset: ADFloat = 0.0) {
                
            self.rotation = rotation
            self.ray_count = rayCount
            self.x_offset = xOffset
            self.y_offset = yOffset
        }
        
        public static var defaultConfiguration: Config {
            return Config()
        }
    }
    
    override public var configureAction: ConfigureAction {
        return { encoder in
            super.configureAction(encoder)
        }
    }
    
    override var fragmentShaderName: String {
        return "masked_burst_pattern_frag"
    }
}
