
using Godot;
using System.Collections.Generic;

namespace Rokojori
{  
  public class CEG_ImageProcessor:CompositorEffectShaderProcessor
  {
    public readonly CompositorEffectGraphTextureSlot input;
    public readonly CompositorEffectGraphTextureSlot output;

    public CEG_ImageProcessor( _XX_CompositorEffectGraph graph, string shaderPath ):base( graph, shaderPath )
    {
      input = new CompositorEffectGraphTextureSlot( this );
      output = new CompositorEffectGraphTextureSlot( this );

      _textureSlots.AddRange( new List<CompositorEffectGraphTextureSlot>{ input, output } );
    } 

    public void SetTextureSlotInputs( CompositorEffectGraphTextureSlotInput inputSlot, CompositorEffectGraphTextureSlotInput outputSlot )
    {
      inputSlot.ConnectTo( input );
      outputSlot.ConnectTo( output );
    }

    public void SetTextureSlotInputs( CEG_ImageProcessor imageProcessorBefore )
    {
      imageProcessorBefore.input.ConnectTo( input );
      imageProcessorBefore.output.ConnectTo( output );
    }

    
  }
}