entity_spell_system/data/character_skeleton_visual_entry.h

58 lines
1.5 KiB
C
Raw Normal View History

#ifndef VISUAL_BONE_ATTACHMENT_H
#define VISUAL_BONE_ATTACHMENT_H
#include "core/ustring.h"
#include "core/resource.h"
#include "scene/resources/packed_scene.h"
2019-07-01 01:29:59 +02:00
#include "scene/resources/mesh.h"
#include "../entity_enums.h"
#include "../meshes/mesh_data_resource.h"
2019-07-01 01:29:59 +02:00
class CharacterSkeletonVisualEntry : public Resource {
GDCLASS(CharacterSkeletonVisualEntry, Resource);
public:
static const String BINDING_STRING_BONE_ATTACHMENT_TYPES;
2019-07-01 01:29:59 +02:00
enum CharacterSkeletonVisualEntryType {
BONE_ATTACHMENT_TYPE_NONE = 0,
2019-07-01 01:29:59 +02:00
BONE_ATTACHMENT_TYPE_MESH = 1,
BONE_ATTACHMENT_TYPE_EFFECT = 2,
BONE_ATTACHMENT_TYPE_EQUIPMENT = 3,
BONE_ATTACHMENT_TYPE_OVERRIDE = 4
};
int get_id();
void set_id(int id);
2019-07-01 01:29:59 +02:00
CharacterSkeletonVisualEntryType get_attachment_type();
void set_attachment_type(CharacterSkeletonVisualEntryType attachment_type);
EntityEnums::CharacterSkeletonPoints get_target_bone();
void set_target_bone(EntityEnums::CharacterSkeletonPoints bone);
Ref<PackedScene> get_effect();
void set_effect(Ref<PackedScene> effect);
2019-07-01 01:29:59 +02:00
Ref<MeshDataResource> get_mesh();
void set_mesh(Ref<MeshDataResource> effect);
2019-07-01 01:29:59 +02:00
CharacterSkeletonVisualEntry();
protected:
static void _bind_methods();
private:
int _id;
2019-07-01 01:29:59 +02:00
CharacterSkeletonVisualEntryType _attachment_type;
EntityEnums::CharacterSkeletonPoints _target_bone;
Ref<PackedScene> _effect;
Ref<MeshDataResource> _mesh;
};
2019-07-01 01:29:59 +02:00
VARIANT_ENUM_CAST(CharacterSkeletonVisualEntry::CharacterSkeletonVisualEntryType);
#endif