[godot] Clean-up SpineEventData and SpineEvent.

This commit is contained in:
badlogic 2022-04-12 14:33:14 +02:00
parent 9133020876
commit 45e087feb3
4 changed files with 105 additions and 16 deletions

View File

@ -55,7 +55,7 @@ SpineEvent::~SpineEvent() {
Ref<SpineEventData> SpineEvent::get_data() { Ref<SpineEventData> SpineEvent::get_data() {
SPINE_CHECK(event, nullptr) SPINE_CHECK(event, nullptr)
Ref<SpineEventData> event_data(memnew(SpineEventData)); Ref<SpineEventData> event_data(memnew(SpineEventData));
event_data->set_spine_object(&(event->getData())); event_data->set_spine_object((spine::EventData*)&(event->getData()));
return event_data; return event_data;
} }

View File

@ -45,7 +45,7 @@ public:
SpineEvent(); SpineEvent();
~SpineEvent(); ~SpineEvent();
void set_spine_object(spine::Event *e) { event = e; } void set_spine_object(spine::Event *_event) { event = _event; }
spine::Event *get_spine_object() const { return event; } spine::Event *get_spine_object() const { return event; }
@ -55,23 +55,23 @@ public:
int get_int_value(); int get_int_value();
void set_int_value(int inValue); void set_int_value(int v);
float get_float_value(); float get_float_value();
void set_float_value(float inValue); void set_float_value(float v);
String get_string_value(); String get_string_value();
void set_string_value(const String &inValue); void set_string_value(const String &v);
float get_volume(); float get_volume();
void set_volume(float inValue); void set_volume(float v);
float get_balance(); float get_balance();
void set_balance(float inValue); void set_balance(float v);
}; };
#endif//GODOT_SPINEEVENT_H #endif//GODOT_SPINEEVENT_H

View File

@ -28,9 +28,79 @@
*****************************************************************************/ *****************************************************************************/
#include "SpineEventData.h" #include "SpineEventData.h"
#include "common.h"
void SpineEventData::_bind_methods() { void SpineEventData::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_event_name"), &SpineEventData::get_event_name);
ClassDB::bind_method(D_METHOD("get_int_value"), &SpineEventData::get_int_value);
ClassDB::bind_method(D_METHOD("set_int_value", "v"), &SpineEventData::set_int_value);
ClassDB::bind_method(D_METHOD("get_float_value"), &SpineEventData::get_float_value);
ClassDB::bind_method(D_METHOD("set_float_value", "v"), &SpineEventData::set_float_value);
ClassDB::bind_method(D_METHOD("get_string_value"), &SpineEventData::get_string_value);
ClassDB::bind_method(D_METHOD("set_string_value", "v"), &SpineEventData::set_string_value);
ClassDB::bind_method(D_METHOD("get_volume"), &SpineEventData::get_volume);
ClassDB::bind_method(D_METHOD("set_volume", "v"), &SpineEventData::set_volume);
ClassDB::bind_method(D_METHOD("get_balance"), &SpineEventData::get_balance);
ClassDB::bind_method(D_METHOD("set_balance", "v"), &SpineEventData::set_balance);
} }
SpineEventData::SpineEventData() : event_data(NULL) {} SpineEventData::SpineEventData() : event_data(nullptr) {
SpineEventData::~SpineEventData() {} }
SpineEventData::~SpineEventData() {
}
String SpineEventData::get_event_name() {
SPINE_CHECK(event_data, "")
return event_data->getName().buffer();
}
int SpineEventData::get_int_value() {
SPINE_CHECK(event_data, 0)
return event_data->getIntValue();
}
void SpineEventData::set_int_value(int v) {
SPINE_CHECK(event_data,)
event_data->setIntValue(v);
}
float SpineEventData::get_float_value() {
SPINE_CHECK(event_data, 0)
return event_data->getFloatValue();
}
void SpineEventData::set_float_value(float v) {
SPINE_CHECK(event_data,)
event_data->setFloatValue(v);
}
String SpineEventData::get_string_value() {
SPINE_CHECK(event_data, "")
return event_data->getStringValue().buffer();
}
void SpineEventData::set_string_value(const String &v) {
SPINE_CHECK(event_data,)
event_data->setStringValue(spine::String(v.utf8()));
}
float SpineEventData::get_volume() {
SPINE_CHECK(event_data, 0)
return event_data->getVolume();
}
void SpineEventData::set_volume(float v) {
SPINE_CHECK(event_data,)
event_data->setVolume(v);
}
float SpineEventData::get_balance() {
SPINE_CHECK(event_data, 0)
return event_data->getBalance();
}
void SpineEventData::set_balance(float v) {
SPINE_CHECK(event_data,)
event_data->setBalance(v);
}

View File

@ -40,18 +40,37 @@ protected:
static void _bind_methods(); static void _bind_methods();
private: private:
const spine::EventData *event_data; spine::EventData *event_data;
public: public:
SpineEventData(); SpineEventData();
~SpineEventData(); ~SpineEventData();
inline void set_spine_object(const spine::EventData *e) { void set_spine_object(spine::EventData *_event_data) { event_data = _event_data; }
event_data = e;
} spine::EventData *get_spine_object() const { return event_data; }
inline const spine::EventData *get_spine_object() {
return event_data; String get_event_name();
}
int get_int_value();
void set_int_value(int v);
float get_float_value();
void set_float_value(float v);
String get_string_value();
void set_string_value(const String &v);
float get_volume();
void set_volume(float v);
float get_balance();
void set_balance(float v);
}; };
#endif//GODOT_SPINEEVENTDATA_H #endif//GODOT_SPINEEVENTDATA_H