Stardew Engine
Loading...
Searching...
No Matches
Entities.c File Reference
#include "Entities.h"
#include "AssertLib.h"
#include "BinarySerializer.h"
#include "StaticColliderEntity.h"
#include "Components.h"
#include <string.h>
#include "Entity2DCollection.h"
#include "GameFramework.h"
#include "EntityQuadTree.h"
#include "AnimatedSprite.h"
#include "ObjectPool.h"
#include "Network.h"
#include "Log.h"
#include "NetworkID.h"
Include dependency graph for Entities.c:

Functions

void Et2D_DestroyCollection (struct Entity2DCollection *pCollection, struct GameFrameworkLayer *pLayer)
 
void Et2D_InitCollection (struct Entity2DCollection *pCollection)
 
void Entity2DOnInit (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer, DrawContext *pDrawCtx, InputContext *pInputCtx)
 Default base implementations, override with own behavior and then call these at the end.
 
void Entity2DUpdate (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer, float deltaT)
 
void Entity2DUpdatePostPhysics (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer, float deltaT)
 
void Entity2DDraw (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer, struct Transform2D *pCam, VECTOR(Worldspace2DVert) *outVerts, VECTOR(VertIndexT) *outIndices, VertIndexT *pNextIndex)
 
void Entity2DInput (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer, InputContext *context)
 
void Entity2DOnDestroy (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer)
 
void Entity2DGetBoundingBox (struct Entity2D *pEnt, struct GameFrameworkLayer *pLayer, vec2 outTL, vec2 outBR)
 
void Et2D_Init (RegisterGameEntitiesFn registerGameEntities)
 
void Et2D_DestroyEntity (struct GameFrameworkLayer *pLayer, struct Entity2DCollection *pCollection, HEntity2D hEnt)
 
HEntity2D Et2D_AddEntity (struct Entity2DCollection *pCollection, struct Entity2D *pEnt)
 
void Et2D_SerializeEntities (struct Entity2DCollection *pCollection, struct BinarySerializer *bs, struct GameLayer2DData *pData, int objectLayer)
 
void Et2D_RegisterEntityType (u32 typeID, struct EntitySerializerPair *pair)
 Games using the engine should call this to add types of entity to be serialized.
 
void Et2D_DeserializeCommon (struct BinarySerializer *bs, struct Entity2D *pOutEnt)
 
void Et2D_SerializeCommon (struct BinarySerializer *bs, struct Entity2D *pInEnt)
 
struct Entity2DEt2D_GetEntity (struct Entity2DCollection *pCollection, HEntity2D hEnt)
 
void Et2D_IterateEntities (struct Entity2DCollection *pCollection, Entity2DIterator itr, void *pUser)
 
float Entity2DGetSortVal (struct Entity2D *pEnt)
 
void Et2D_PopulateCommonHandlers (struct Entity2D *pEnt)
 
bool PrintCollectionItr (struct Entity2D *pEnt, int i, void *pUser)
 
void Et2D_PrintEntitiesInfo (struct Entity2DCollection *pCollection)
 

Function Documentation

◆ Entity2DDraw()

void Entity2DDraw ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer,
struct Transform2D pCam,
VECTOR(Worldspace2DVert) *  outVerts,
VECTOR(VertIndexT) *  outIndices,
VertIndexT pNextIndex 
)

◆ Entity2DGetBoundingBox()

void Entity2DGetBoundingBox ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer,
vec2  outTL,
vec2  outBR 
)

◆ Entity2DGetSortVal()

float Entity2DGetSortVal ( struct Entity2D pEnt)

◆ Entity2DInput()

void Entity2DInput ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer,
InputContext context 
)

◆ Entity2DOnDestroy()

void Entity2DOnDestroy ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer 
)

◆ Entity2DOnInit()

void Entity2DOnInit ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer,
DrawContext pDrawCtx,
InputContext pInputCtx 
)

Default base implementations, override with own behavior and then call these at the end.

◆ Entity2DUpdate()

void Entity2DUpdate ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer,
float  deltaT 
)

◆ Entity2DUpdatePostPhysics()

void Entity2DUpdatePostPhysics ( struct Entity2D pEnt,
struct GameFrameworkLayer pLayer,
float  deltaT 
)

◆ Et2D_AddEntity()

HEntity2D Et2D_AddEntity ( struct Entity2DCollection pCollection,
struct Entity2D pEnt 
)
Parameters
pCollection- collection to add to
pEnt- Entity to add
bOwned- Does this host own the entity or is it owned by another player on the network, no effect if single player
Returns
Entity handle

◆ Et2D_DeserializeCommon()

void Et2D_DeserializeCommon ( struct BinarySerializer bs,
struct Entity2D pOutEnt 
)

◆ Et2D_DestroyCollection()

void Et2D_DestroyCollection ( struct Entity2DCollection pCollection,
struct GameFrameworkLayer pLayer 
)

◆ Et2D_DestroyEntity()

void Et2D_DestroyEntity ( struct GameFrameworkLayer pLayer,
struct Entity2DCollection pCollection,
HEntity2D  hEnt 
)
Parameters
pLayer
pCollection
hEnt

◆ Et2D_GetEntity()

struct Entity2D * Et2D_GetEntity ( struct Entity2DCollection pCollection,
HEntity2D  hEnt 
)
Parameters
pCollection
hEnt
Returns
- entity handle

◆ Et2D_Init()

void Et2D_Init ( RegisterGameEntitiesFn  registerGameEntities)

◆ Et2D_InitCollection()

void Et2D_InitCollection ( struct Entity2DCollection pCollection)

◆ Et2D_IterateEntities()

void Et2D_IterateEntities ( struct Entity2DCollection pCollection,
Entity2DIterator  itr,
void *  pUser 
)

◆ Et2D_PopulateCommonHandlers()

void Et2D_PopulateCommonHandlers ( struct Entity2D pEnt)

◆ Et2D_PrintEntitiesInfo()

void Et2D_PrintEntitiesInfo ( struct Entity2DCollection pCollection)

◆ Et2D_RegisterEntityType()

void Et2D_RegisterEntityType ( u32  typeID,
struct EntitySerializerPair pair 
)

Games using the engine should call this to add types of entity to be serialized.

Parameters
typeIDEntity type
pairpair of functions to serialize and deserialize

◆ Et2D_SerializeCommon()

void Et2D_SerializeCommon ( struct BinarySerializer bs,
struct Entity2D pInEnt 
)

◆ Et2D_SerializeEntities()

void Et2D_SerializeEntities ( struct Entity2DCollection pCollection,
struct BinarySerializer bs,
struct GameLayer2DData pData,
int  objectLayer 
)

◆ PrintCollectionItr()

bool PrintCollectionItr ( struct Entity2D pEnt,
int  i,
void *  pUser 
)