mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
[godot] Clean-up SpineEvent.
This commit is contained in:
parent
00f83a1317
commit
9133020876
@ -28,10 +28,11 @@
|
||||
*****************************************************************************/
|
||||
|
||||
#include "SpineEvent.h"
|
||||
#include <spine/Event.h>
|
||||
#include "common.h"
|
||||
|
||||
void SpineEvent::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_data"), &SpineEvent::get_data);
|
||||
ClassDB::bind_method(D_METHOD("get_event_name"), &SpineEvent::get_event_name);
|
||||
ClassDB::bind_method(D_METHOD("get_time"), &SpineEvent::get_time);
|
||||
ClassDB::bind_method(D_METHOD("get_int_value"), &SpineEvent::get_int_value);
|
||||
ClassDB::bind_method(D_METHOD("set_int_value", "v"), &SpineEvent::set_int_value);
|
||||
@ -43,68 +44,72 @@ void SpineEvent::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_volume", "v"), &SpineEvent::set_volume);
|
||||
ClassDB::bind_method(D_METHOD("get_balance"), &SpineEvent::get_balance);
|
||||
ClassDB::bind_method(D_METHOD("set_balance", "v"), &SpineEvent::set_balance);
|
||||
//
|
||||
// BIND_ENUM_CONSTANT(EVENTTYPE_START);
|
||||
// BIND_ENUM_CONSTANT(EVENTTYPE_INTERRUPT);
|
||||
// BIND_ENUM_CONSTANT(EVENTTYPE_END);
|
||||
// BIND_ENUM_CONSTANT(EVENTTYPE_COMPLETE);
|
||||
// BIND_ENUM_CONSTANT(EVENTTYPE_DISPOSE);
|
||||
// BIND_ENUM_CONSTANT(EVENTTYPE_EVENT);
|
||||
}
|
||||
|
||||
SpineEvent::SpineEvent() : event(NULL) {}
|
||||
SpineEvent::~SpineEvent() {}
|
||||
SpineEvent::SpineEvent() : event(nullptr) {
|
||||
}
|
||||
|
||||
SpineEvent::~SpineEvent() {
|
||||
}
|
||||
|
||||
Ref<SpineEventData> SpineEvent::get_data() {
|
||||
SPINE_CHECK(event, nullptr)
|
||||
Ref<SpineEventData> event_data(memnew(SpineEventData));
|
||||
event_data->set_spine_object(&(event->getData()));
|
||||
return event_data;
|
||||
}
|
||||
|
||||
String SpineEvent::get_event_name() {
|
||||
return event->getData().getName().buffer();
|
||||
}
|
||||
|
||||
float SpineEvent::get_time() {
|
||||
SPINE_CHECK(event, 0)
|
||||
return event->getTime();
|
||||
}
|
||||
|
||||
int SpineEvent::get_int_value() {
|
||||
SPINE_CHECK(event, 0)
|
||||
return event->getIntValue();
|
||||
}
|
||||
|
||||
void SpineEvent::set_int_value(int v) {
|
||||
SPINE_CHECK(event,)
|
||||
event->setIntValue(v);
|
||||
}
|
||||
|
||||
float SpineEvent::get_float_value() {
|
||||
SPINE_CHECK(event, 0)
|
||||
return event->getFloatValue();
|
||||
}
|
||||
|
||||
void SpineEvent::set_float_value(float v) {
|
||||
SPINE_CHECK(event,)
|
||||
event->setFloatValue(v);
|
||||
}
|
||||
|
||||
String SpineEvent::get_string_value() {
|
||||
SPINE_CHECK(event, "")
|
||||
return event->getStringValue().buffer();
|
||||
}
|
||||
|
||||
void SpineEvent::set_string_value(const String &v) {
|
||||
SPINE_CHECK(event,)
|
||||
event->setStringValue(spine::String(v.utf8()));
|
||||
}
|
||||
|
||||
float SpineEvent::get_volume() {
|
||||
SPINE_CHECK(event, 0)
|
||||
return event->getVolume();
|
||||
}
|
||||
|
||||
void SpineEvent::set_volume(float v) {
|
||||
SPINE_CHECK(event,)
|
||||
event->setVolume(v);
|
||||
}
|
||||
|
||||
float SpineEvent::get_balance() {
|
||||
SPINE_CHECK(event, 0)
|
||||
return event->getBalance();
|
||||
}
|
||||
|
||||
void SpineEvent::set_balance(float v) {
|
||||
SPINE_CHECK(event,)
|
||||
event->setBalance(v);
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,14 +30,10 @@
|
||||
#ifndef GODOT_SPINEEVENT_H
|
||||
#define GODOT_SPINEEVENT_H
|
||||
|
||||
#include "core/variant_parser.h"
|
||||
|
||||
#include <spine/spine.h>
|
||||
|
||||
#include "SpineEventData.h"
|
||||
|
||||
class SpineEvent : public Reference {
|
||||
GDCLASS(SpineEvent, Reference);
|
||||
GDCLASS(SpineEvent, Reference)
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
@ -49,42 +45,32 @@ public:
|
||||
SpineEvent();
|
||||
~SpineEvent();
|
||||
|
||||
inline void set_spine_object(spine::Event *e) {
|
||||
event = e;
|
||||
}
|
||||
inline spine::Event *get_spine_object() const {
|
||||
return event;
|
||||
}
|
||||
|
||||
enum EventType {
|
||||
EVENTTYPE_START = spine::EventType_Start,
|
||||
EVENTTYPE_INTERRUPT = spine::EventType_Interrupt,
|
||||
EVENTTYPE_END = spine::EventType_End,
|
||||
EVENTTYPE_COMPLETE = spine::EventType_Complete,
|
||||
EVENTTYPE_DISPOSE = spine::EventType_Dispose,
|
||||
EVENTTYPE_EVENT = spine::EventType_Event
|
||||
};
|
||||
|
||||
void set_spine_object(spine::Event *e) { event = e; }
|
||||
|
||||
spine::Event *get_spine_object() const { return event; }
|
||||
|
||||
Ref<SpineEventData> get_data();
|
||||
|
||||
String get_event_name();
|
||||
|
||||
float get_time();
|
||||
|
||||
int get_int_value();
|
||||
|
||||
void set_int_value(int inValue);
|
||||
|
||||
float get_float_value();
|
||||
|
||||
void set_float_value(float inValue);
|
||||
|
||||
String get_string_value();
|
||||
|
||||
void set_string_value(const String &inValue);
|
||||
|
||||
float get_volume();
|
||||
|
||||
void set_volume(float inValue);
|
||||
|
||||
float get_balance();
|
||||
|
||||
void set_balance(float inValue);
|
||||
};
|
||||
|
||||
|
||||
@ -30,9 +30,8 @@
|
||||
#ifndef GODOT_SPINEEVENTDATA_H
|
||||
#define GODOT_SPINEEVENTDATA_H
|
||||
|
||||
#include "core/variant_parser.h"
|
||||
|
||||
#include <spine/spine.h>
|
||||
#include "core/reference.h"
|
||||
#include <spine/EventData.h>
|
||||
|
||||
class SpineEventData : public Reference {
|
||||
GDCLASS(SpineEventData, Reference);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user