mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-08-04 09:44:10 +00:00
Possessor and possessable additions (#619)
* possessor-fixup and possessable additions * comment and docstring fixes * fix possessable initialization * split animation flags into it's own header remove unnecessary checks
This commit is contained in:
@@ -4,6 +4,14 @@
|
||||
#include "Entity.h"
|
||||
#include "Component.h"
|
||||
|
||||
// possession types
|
||||
enum class ePossessionType : uint8_t {
|
||||
NO_POSSESSION = 0,
|
||||
ATTACHED_VISIBLE,
|
||||
NOT_ATTACHED_VISIBLE,
|
||||
NOT_ATTACHED_NOT_VISIBLE,
|
||||
};
|
||||
|
||||
/**
|
||||
* Represents an entity that can posess other entities. Generally used by players to drive a car.
|
||||
*/
|
||||
@@ -22,34 +30,34 @@ class PossessorComponent : public Component {
|
||||
*/
|
||||
void SetPossessable(LWOOBJID value) { m_Possessable = value; m_DirtyPossesor = true; }
|
||||
|
||||
/**
|
||||
* Sets the possesible type that's currently used, merely used by the shooting gallery if it's 0
|
||||
* @param value the possesible type to set
|
||||
*/
|
||||
void SetPossessableType(uint8_t value) { m_PossessableType = value; m_DirtyPossesor = true; }
|
||||
|
||||
/**
|
||||
* Returns the entity that this entity is currently posessing
|
||||
* @return the entity that this entity is currently posessing
|
||||
*/
|
||||
LWOOBJID GetPossessable() const { return m_Possessable; }
|
||||
|
||||
/**
|
||||
* Sets the possesible type that's currently used, merely used by the shooting gallery if it's 0
|
||||
* @param value the possesible type to set
|
||||
*/
|
||||
void SetPossessableType(ePossessionType value) { m_PossessableType = value; m_DirtyPossesor = true; }
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* The ID of the entity this entity is possessing (e.g. the ID of a car)
|
||||
*/
|
||||
LWOOBJID m_Possessable;
|
||||
LWOOBJID m_Possessable = LWOOBJID_EMPTY;
|
||||
|
||||
/**
|
||||
* @brief possessable type
|
||||
*
|
||||
*/
|
||||
uint8_t m_PossessableType;
|
||||
ePossessionType m_PossessableType = ePossessionType::NO_POSSESSION;
|
||||
|
||||
/**
|
||||
* @brief if the possessor is dirty
|
||||
*
|
||||
*/
|
||||
bool m_DirtyPossesor;
|
||||
bool m_DirtyPossesor = false;
|
||||
};
|
||||
|
Reference in New Issue
Block a user