#ifndef ITEM_VISUAL_ENTRY_H #define ITEM_VISUAL_ENTRY_H #include "core/resource.h" #include "core/ustring.h" #include "core/color.h" #include "scene/resources/texture.h" #include "../entity_enums.h" #include "../item_enums.h" #include "scene/resources/packed_scene.h" #include "scene/resources/mesh.h" #include "../meshes/mesh_data_resource.h" class ItemVisualEntry : public Resource { GDCLASS(ItemVisualEntry, Resource); public: ItemEnums::EntityTextureLayers get_override_layer(); void set_override_layer(ItemEnums::EntityTextureLayers layer); Ref get_mesh(int index); void set_mesh(int index, Ref mesh); Ref get_texture(int index); void set_texture(int index, Ref texture); Color get_color(); void set_color(Color color); Ref get_effect(); void set_effect(Ref effect); Vector3 get_effect_offset(int index); void set_effect_offset(int index, Vector3 offset); ItemVisualEntry(); ~ItemVisualEntry(); protected: static void _bind_methods(); private: ItemEnums::EntityTextureLayers _override_layer; Ref _mesh[EntityEnums::GENDER_COUNT]; Ref _texture[EntityEnums::GENDER_COUNT]; Color _color; Ref _effect; Vector3 _effect_offset[EntityEnums::GENDER_COUNT]; }; #endif