Interactable C++
This commit is contained in:
parent
29c6666c18
commit
4b2343bb83
|
@ -0,0 +1,33 @@
|
||||||
|
|
||||||
|
/* RJInteractable.cpp */
|
||||||
|
|
||||||
|
#include "RJInteractable.h"
|
||||||
|
|
||||||
|
// Registers fields, signals and methods for Godot
|
||||||
|
void RJInteractable::_bind_methods()
|
||||||
|
{
|
||||||
|
// onInteraction: RJAction*
|
||||||
|
ClassDB::bind_method( D_METHOD( "set_onInteraction", "onInteraction" ), &RJInteractable::set_onInteraction );
|
||||||
|
ClassDB::bind_method( D_METHOD( "get_onInteraction"), &RJInteractable::get_onInteraction);
|
||||||
|
ADD_PROPERTY( PropertyInfo(Variant::OBJECT, "onInteraction", PROPERTY_HINT_NODE_TYPE ), "set_onInteraction", "get_onInteraction" );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
RJInteractable::RJInteractable()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
RJInteractable::~RJInteractable()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// onInteraction: RJAction*
|
||||||
|
RJAction* RJInteractable::get_onInteraction() const { return onInteraction; }
|
||||||
|
void RJInteractable::set_onInteraction( RJAction* p_onInteraction ) { onInteraction = p_onInteraction; }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
/* RJInteractable.h */
|
||||||
|
|
||||||
|
#ifndef ROKOJORI__INTERACTABLE_H
|
||||||
|
#define ROKOJORI__INTERACTABLE_H
|
||||||
|
|
||||||
|
#include "./RJGodotHeaders.h"
|
||||||
|
#include "./RJAction.h"
|
||||||
|
#include "scene/3d/node_3d.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class RJInteractable : public Node3D
|
||||||
|
{
|
||||||
|
GDCLASS( RJInteractable, Node3D );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
static void _bind_methods();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// onInteraction : RJAction*
|
||||||
|
RJAction* onInteraction = nullptr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
// onInteraction : RJAction*
|
||||||
|
RJAction* get_onInteraction() const; void set_onInteraction( RJAction* p_onInteraction );
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
RJInteractable();
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
~RJInteractable();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // ROKOJORI__INTERACTABLE_H
|
|
@ -0,0 +1,42 @@
|
||||||
|
|
||||||
|
/* RJInteractor.cpp */
|
||||||
|
|
||||||
|
#include "RJInteractor.h"
|
||||||
|
|
||||||
|
// Registers fields, signals and methods for Godot
|
||||||
|
void RJInteractor::_bind_methods()
|
||||||
|
{
|
||||||
|
// input: RJSensor*
|
||||||
|
ClassDB::bind_method( D_METHOD( "set_input", "input" ), &RJInteractor::set_input );
|
||||||
|
ClassDB::bind_method( D_METHOD( "get_input"), &RJInteractor::get_input);
|
||||||
|
ADD_PROPERTY( PropertyInfo(Variant::OBJECT, "input", PROPERTY_HINT_NODE_TYPE ), "set_input", "get_input" );
|
||||||
|
|
||||||
|
// pointer: RJPointer*
|
||||||
|
ClassDB::bind_method( D_METHOD( "set_pointer", "pointer" ), &RJInteractor::set_pointer );
|
||||||
|
ClassDB::bind_method( D_METHOD( "get_pointer"), &RJInteractor::get_pointer);
|
||||||
|
ADD_PROPERTY( PropertyInfo(Variant::OBJECT, "pointer", PROPERTY_HINT_NODE_TYPE ), "set_pointer", "get_pointer" );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
RJInteractor::RJInteractor()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
RJInteractor::~RJInteractor()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// input: RJSensor*
|
||||||
|
RJSensor* RJInteractor::get_input() const { return input; }
|
||||||
|
void RJInteractor::set_input( RJSensor* p_input ) { input = p_input; }
|
||||||
|
|
||||||
|
// pointer: RJPointer*
|
||||||
|
RJPointer* RJInteractor::get_pointer() const { return pointer; }
|
||||||
|
void RJInteractor::set_pointer( RJPointer* p_pointer ) { pointer = p_pointer; }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
|
||||||
|
/* RJInteractor.h */
|
||||||
|
|
||||||
|
#ifndef ROKOJORI__INTERACTOR_H
|
||||||
|
#define ROKOJORI__INTERACTOR_H
|
||||||
|
|
||||||
|
#include "./RJGodotHeaders.h"
|
||||||
|
#include "./RJSensor.h"
|
||||||
|
#include "./RJPointer.h"
|
||||||
|
#include "scene/3d/node_3d.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class RJInteractor : public Node3D
|
||||||
|
{
|
||||||
|
GDCLASS( RJInteractor, Node3D );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
static void _bind_methods();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// input : RJSensor*
|
||||||
|
RJSensor* input = nullptr;
|
||||||
|
|
||||||
|
// pointer : RJPointer*
|
||||||
|
RJPointer* pointer = nullptr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
// input : RJSensor*
|
||||||
|
RJSensor* get_input() const; void set_input( RJSensor* p_input );
|
||||||
|
|
||||||
|
// pointer : RJPointer*
|
||||||
|
RJPointer* get_pointer() const; void set_pointer( RJPointer* p_pointer );
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
RJInteractor();
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
~RJInteractor();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // ROKOJORI__INTERACTOR_H
|
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
#include "./RJAction.h"
|
#include "./RJAction.h"
|
||||||
#include "./RJCaster.h"
|
#include "./RJCaster.h"
|
||||||
|
#include "./RJInteractable.h"
|
||||||
|
#include "./RJInteractor.h"
|
||||||
#include "./RJIntProperty.h"
|
#include "./RJIntProperty.h"
|
||||||
#include "./RJNetworkNode.h"
|
#include "./RJNetworkNode.h"
|
||||||
#include "./RJPointable.h"
|
#include "./RJPointable.h"
|
||||||
|
@ -28,6 +30,8 @@ void initialize_rokojori_action_library_module( ModuleInitializationLevel p_leve
|
||||||
|
|
||||||
ClassDB::register_class<RJAction>();
|
ClassDB::register_class<RJAction>();
|
||||||
ClassDB::register_class<RJCaster>();
|
ClassDB::register_class<RJCaster>();
|
||||||
|
ClassDB::register_class<RJInteractable>();
|
||||||
|
ClassDB::register_class<RJInteractor>();
|
||||||
ClassDB::register_class<RJIntProperty>();
|
ClassDB::register_class<RJIntProperty>();
|
||||||
ClassDB::register_class<RJNetworkNode>();
|
ClassDB::register_class<RJNetworkNode>();
|
||||||
ClassDB::register_class<RJPointable>();
|
ClassDB::register_class<RJPointable>();
|
||||||
|
|
Loading…
Reference in New Issue