using Godot;
using System.Collections;
using System.Collections.Generic;
using Godot.Collections;

namespace Rokojori
{
  [Tool]
  [GlobalClass]
  public partial class Caster:Node3D
  {
    [Export]
    public Action beforeProcess;

    [Export]
    public Action afterProcess;

    [Export]
    public Selector includeSelector;

    [Export]
    public Selector excludeSelector;
    
    
    public virtual int NumColliders()
    {
      return 0;
    }
    
    
    public virtual Node GetCollider( int index )
    {
      return null;
    }
    
    public virtual Vector3 GetCollisionPosition( int index )
    {
      return Vector3.Zero;
    }
    
    public virtual Vector3 GetCollisionNormal( int index )
    {
      return Vector3.Zero;
    }
    
    public virtual Shape3D GetCollisionShape( int index )
    {
      return null;
    }

  }
}