From 45e087feb320d071582b3fb7659f374b96fbddb5 Mon Sep 17 00:00:00 2001 From: badlogic Date: Tue, 12 Apr 2022 14:33:14 +0200 Subject: [PATCH] [godot] Clean-up SpineEventData and SpineEvent. --- spine-godot/spine_godot/SpineEvent.cpp | 2 +- spine-godot/spine_godot/SpineEvent.h | 12 ++-- spine-godot/spine_godot/SpineEventData.cpp | 74 +++++++++++++++++++++- spine-godot/spine_godot/SpineEventData.h | 33 ++++++++-- 4 files changed, 105 insertions(+), 16 deletions(-) diff --git a/spine-godot/spine_godot/SpineEvent.cpp b/spine-godot/spine_godot/SpineEvent.cpp index 4f28f616a..b058c7077 100644 --- a/spine-godot/spine_godot/SpineEvent.cpp +++ b/spine-godot/spine_godot/SpineEvent.cpp @@ -55,7 +55,7 @@ SpineEvent::~SpineEvent() { Ref SpineEvent::get_data() { SPINE_CHECK(event, nullptr) Ref event_data(memnew(SpineEventData)); - event_data->set_spine_object(&(event->getData())); + event_data->set_spine_object((spine::EventData*)&(event->getData())); return event_data; } diff --git a/spine-godot/spine_godot/SpineEvent.h b/spine-godot/spine_godot/SpineEvent.h index 85c8f876c..1223993e1 100644 --- a/spine-godot/spine_godot/SpineEvent.h +++ b/spine-godot/spine_godot/SpineEvent.h @@ -45,7 +45,7 @@ public: 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; } @@ -55,23 +55,23 @@ public: int get_int_value(); - void set_int_value(int inValue); + void set_int_value(int v); float get_float_value(); - void set_float_value(float inValue); + void set_float_value(float v); String get_string_value(); - void set_string_value(const String &inValue); + void set_string_value(const String &v); float get_volume(); - void set_volume(float inValue); + void set_volume(float v); float get_balance(); - void set_balance(float inValue); + void set_balance(float v); }; #endif//GODOT_SPINEEVENT_H diff --git a/spine-godot/spine_godot/SpineEventData.cpp b/spine-godot/spine_godot/SpineEventData.cpp index bca195e79..c7f26297a 100644 --- a/spine-godot/spine_godot/SpineEventData.cpp +++ b/spine-godot/spine_godot/SpineEventData.cpp @@ -28,9 +28,79 @@ *****************************************************************************/ #include "SpineEventData.h" +#include "common.h" 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() {} +SpineEventData::SpineEventData() : event_data(nullptr) { +} + +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); +} diff --git a/spine-godot/spine_godot/SpineEventData.h b/spine-godot/spine_godot/SpineEventData.h index 7a6e28330..32cb2b0ac 100644 --- a/spine-godot/spine_godot/SpineEventData.h +++ b/spine-godot/spine_godot/SpineEventData.h @@ -40,18 +40,37 @@ protected: static void _bind_methods(); private: - const spine::EventData *event_data; + spine::EventData *event_data; public: SpineEventData(); ~SpineEventData(); - inline void set_spine_object(const spine::EventData *e) { - event_data = e; - } - inline const spine::EventData *get_spine_object() { - return event_data; - } + void set_spine_object(spine::EventData *_event_data) { event_data = _event_data; } + + spine::EventData *get_spine_object() const { 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