mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-08-06 10:44:08 +00:00
Public release of the DLU server code!
Have fun!
This commit is contained in:
76
dGame/dComponents/ModuleAssemblyComponent.h
Normal file
76
dGame/dComponents/ModuleAssemblyComponent.h
Normal file
@@ -0,0 +1,76 @@
|
||||
#pragma once
|
||||
|
||||
#include "BitStream.h"
|
||||
#include "Entity.h"
|
||||
#include "Component.h"
|
||||
|
||||
/**
|
||||
* Component that belongs to an object that may be modularly built, like cars and rockets. Note that this is not the
|
||||
* same as having said items in your inventory (the subkey for this component) this component is the one that
|
||||
* renders the entity into the world.
|
||||
*/
|
||||
class ModuleAssemblyComponent : public Component {
|
||||
public:
|
||||
static const uint32_t ComponentType = COMPONENT_TYPE_MODULE_ASSEMBLY;
|
||||
|
||||
ModuleAssemblyComponent(Entity* MSG_CHAT_INTERNAL_PLAYER_REMOVED_NOTIFICATION);
|
||||
~ModuleAssemblyComponent() override;
|
||||
|
||||
void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags);
|
||||
void Update(float deltaTime);
|
||||
|
||||
/**
|
||||
* Sets the subkey of this entity
|
||||
* @param value the subkey to set
|
||||
*/
|
||||
void SetSubKey(LWOOBJID value);
|
||||
|
||||
/**
|
||||
* Returns the subkey for this entity
|
||||
* @return the subkey for this entity
|
||||
*/
|
||||
LWOOBJID GetSubKey() const;
|
||||
|
||||
|
||||
/**
|
||||
* Sets the optional parts value
|
||||
* @param value the value to set
|
||||
*/
|
||||
void SetUseOptionalParts(bool value);
|
||||
|
||||
/**
|
||||
* Returns the optional parts value
|
||||
* @return the value to set
|
||||
*/
|
||||
bool GetUseOptionalParts() const;
|
||||
|
||||
/**
|
||||
* Sets the assembly part lots (the subsections of this modular build)
|
||||
* @param value the assembly part lots to set
|
||||
*/
|
||||
void SetAssemblyPartsLOTs(const std::u16string& value);
|
||||
|
||||
/**
|
||||
* Returns the assembly part lots (the subsections of this modular build)
|
||||
* @return
|
||||
*/
|
||||
const std::u16string& GetAssemblyPartsLOTs() const;
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* The sub key is the entity that this entity is an instance of. E.g. the item in the inventory. If a car for
|
||||
* example is to be rendered, this sub key refers to the car item that was used to build this entity.
|
||||
*/
|
||||
LWOOBJID m_SubKey;
|
||||
|
||||
/**
|
||||
* Whether to use optional parts, currently unused
|
||||
*/
|
||||
bool m_UseOptionalParts;
|
||||
|
||||
/**
|
||||
* The sub items that this entity is made of
|
||||
*/
|
||||
std::u16string m_AssemblyPartsLOTs;
|
||||
};
|
Reference in New Issue
Block a user