rj-action-library-cpp/RJCaster.h

77 lines
1.8 KiB
C++

/* RJCaster.h */
#ifndef ROKOJORI__CASTER_H
#define ROKOJORI__CASTER_H
#include "./RJGodotHeaders.h"
#include "./RJAction.h"
#include "./RJSelector.h"
#include "core/math/vector3.h"
#include "scene/resources/3d/shape_3d.h"
#include "scene/3d/node_3d.h"
class RJCaster : public Node3D
{
GDCLASS( RJCaster, Node3D );
protected:
static void _bind_methods();
// beforeProcess : RJAction*
RJAction* beforeProcess = nullptr;
// afterProcess : RJAction*
RJAction* afterProcess = nullptr;
// includeSelector : Ref<RJSelector>
Ref<RJSelector> includeSelector;
// excludeSelector : Ref<RJSelector>
Ref<RJSelector> excludeSelector;
public:
// beforeProcess : RJAction*
RJAction* get_beforeProcess() const; void set_beforeProcess( RJAction* p_beforeProcess );
// afterProcess : RJAction*
RJAction* get_afterProcess() const; void set_afterProcess( RJAction* p_afterProcess );
// includeSelector : Ref<RJSelector>
Ref<RJSelector> get_includeSelector() const; void set_includeSelector( const Ref<RJSelector> &p_includeSelector );
// excludeSelector : Ref<RJSelector>
Ref<RJSelector> get_excludeSelector() const; void set_excludeSelector( const Ref<RJSelector> &p_excludeSelector );
// numColliders() : int
GDVIRTUAL0R( int, numColliders );
// getCollider( int index ) : Ref<Node>
GDVIRTUAL1R( Ref<Node>, getCollider, int );
// getCollisionPosition( int index ) : Vector3
GDVIRTUAL1R( Vector3, getCollisionPosition, int );
// getCollisionNormal( int index ) : Vector3
GDVIRTUAL1R( Vector3, getCollisionNormal, int );
// getCollisionShape( int index ) : Ref<Shape3D>
GDVIRTUAL1R( Ref<Shape3D>, getCollisionShape, int );
// Constructor
RJCaster();
// Destructor
~RJCaster();
};
#endif // ROKOJORI__CASTER_H