#include <map>
#include "irrlichttypes_extrabloated.h"
-#include "content_object.h"
#include "clientobject.h"
#include "object_properties.h"
#include "itemgroup.h"
std::string m_name;
bool m_is_player;
bool m_is_local_player;
- int m_id;
// Property-ish things
ObjectProperties m_prop;
//
core::aabbox3d<f32> m_selection_box;
scene::IMeshSceneNode *m_meshnode;
scene::IAnimatedMeshSceneNode *m_animated_meshnode;
+ WieldMeshSceneNode *m_wield_meshnode;
scene::IBillboardSceneNode *m_spritenode;
scene::ITextSceneNode* m_textnode;
v3f m_position;
v2s32 m_animation_range;
int m_animation_speed;
int m_animation_blend;
+ bool m_animation_loop;
std::map<std::string, core::vector2d<v3f> > m_bone_position; // stores position and rotation for each bone name
std::string m_attachment_bone;
v3f m_attachment_position;
return new GenericCAO(gamedef, env);
}
- inline u8 getType() const
+ inline ActiveObjectType getType() const
{
return ACTIVEOBJECT_TYPE_GENERIC;
}
v3f getPosition();
+ scene::ISceneNode *getSceneNode();
+
scene::IMeshSceneNode *getMeshSceneNode();
scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode();
+ WieldMeshSceneNode *getWieldMeshSceneNode();
+
scene::IBillboardSceneNode *getSpriteSceneNode();
inline bool isPlayer() const
m_is_visible = toset;
}
+ void setChildrenVisible(bool toset);
+
void setAttachments();
void removeFromScene(bool permanent);
void updateLight(u8 light_at_pos);
+ void updateLightNoCheck(u8 light_at_pos);
+
v3s16 getLightPosition();
void updateNodePos();
float time_from_last_punch=1000000);
std::string debugInfoText();
+
+ std::string infoText()
+ {
+ return m_prop.infotext;
+ }
};