Platform Data Engine 0.0.1
A data-driven game engine for platformers
PlatformDataEngine::Component Class Reference

The base component class, when creating components to add gameplay functionality, they should inherit from this class More...

#include <Component.h>

Inheritance diagram for PlatformDataEngine::Component:
PlatformDataEngine::Networkable PlatformDataEngine::AnimationController PlatformDataEngine::CharacterController PlatformDataEngine::DamageHandler PlatformDataEngine::ListMenu PlatformDataEngine::Menu PlatformDataEngine::ParticleSystem PlatformDataEngine::PhysicsBody PlatformDataEngine::Projectile PlatformDataEngine::Spike PlatformDataEngine::SpriteRenderer PlatformDataEngine::StatsPanel PlatformDataEngine::TextRenderer PlatformDataEngine::TimedDestroy PlatformDataEngine::Weapon

Public Member Functions

virtual void copy (std::shared_ptr< Component > otherCompPtr)
 Essentially a copy constructor except the generic shared pointer must be converted to the derived type using std::dynamic_pointer_cast More...
 
void registerHierarchy (GameObject *parent)
 
virtual void init ()
 Called once on startup More...
 
virtual void update (const float &dt, const float &elapsedTime)
 Called every update cycle More...
 
virtual void draw (sf::RenderTarget &target, sf::RenderStates states) const
 Called every draw cycle More...
 
virtual void networkSerializeInit (PDEPacket &output)
 Called when sending data for the first time More...
 
virtual void networkDeserializeInit (PDEPacket &input)
 Called when recieving data for the first time More...
 
virtual void networkSerialize (PDEPacket &output)
 Use this function to serialize any members you want replicated this is handy for animation components that should copy their state to all client instances More...
 
virtual void networkDeserialize (PDEPacket &input)
 Use this function to deserialize data coming from the server for this specific client More...
 
virtual void loadDefinition (nlohmann::json object)
 Called when game object definitions are loaded More...
 
std::string getType () const
 
nlohmann::json getProps () const
 
void setType (const std::string &type)
 
void setProps (nlohmann::json &props)
 
void setIsDefinition (bool isDef)
 
virtual void networkSerializeInit (PDEPacket &output)=0
 Called when an object is sent to the clients for the first time More...
 
virtual void networkDeserializeInit (PDEPacket &input)=0
 Called when an object is recieved on a client for the first time More...
 
virtual void networkSerialize (PDEPacket &output)=0
 Called every time an object is sent to a client More...
 
virtual void networkDeserialize (PDEPacket &input)=0
 Called every time an object is recieved from a client More...
 

Protected Attributes

std::map< std::string, nlohmann::json > m_properties
 
GameObject * m_parent
 
bool m_isDefinition
 
nlohmann::json m_all_props
 
std::string m_type
 

Detailed Description

The base component class, when creating components to add gameplay functionality, they should inherit from this class

Member Function Documentation

◆ copy()

◆ draw()

◆ init()

◆ loadDefinition()

◆ networkDeserialize()

void Component::networkDeserialize ( PDEPacket &  input)
virtual

Use this function to deserialize data coming from the server for this specific client

Parameters
input

Implements PlatformDataEngine::Networkable.

Reimplemented in PlatformDataEngine::AnimationController, PlatformDataEngine::PhysicsBody, PlatformDataEngine::SpriteRenderer, and PlatformDataEngine::Weapon.

◆ networkDeserializeInit()

void Component::networkDeserializeInit ( PDEPacket &  input)
virtual

Called when recieving data for the first time

Parameters
input

Implements PlatformDataEngine::Networkable.

◆ networkSerialize()

void Component::networkSerialize ( PDEPacket &  output)
virtual

Use this function to serialize any members you want replicated this is handy for animation components that should copy their state to all client instances

Parameters
output

Implements PlatformDataEngine::Networkable.

Reimplemented in PlatformDataEngine::AnimationController, PlatformDataEngine::PhysicsBody, PlatformDataEngine::SpriteRenderer, and PlatformDataEngine::Weapon.

◆ networkSerializeInit()

void Component::networkSerializeInit ( PDEPacket &  output)
virtual

Called when sending data for the first time

Parameters
output

Implements PlatformDataEngine::Networkable.

◆ update()


The documentation for this class was generated from the following files: