Browse Source

add getEntityByName interface function

remotes/bxxa/master
cinnaboot 4 years ago
parent
commit
cfb661c6f7
  1. 2
      include/tangerine.h
  2. 18
      src/tangerine.cpp

2
include/tangerine.h

@ -231,6 +231,8 @@ RenderGroup* getRenderGroupByName(RenderState* rs, const char* name);
Entity* getFreeEntity(RenderGroup* rg); Entity* getFreeEntity(RenderGroup* rg);
Entity* getEntityByNmae(RenderGroup* rg, const char* name);
// NOTE: callback function signature to use with renDoRenderLoop() // NOTE: callback function signature to use with renDoRenderLoop()
typedef void (*frame_callback_fn) (RenderState*); typedef void (*frame_callback_fn) (RenderState*);

18
src/tangerine.cpp

@ -153,6 +153,24 @@ getFreeEntity(RenderGroup* rg)
return nullptr; return nullptr;
} }
Entity*
getEntityByNmae(RenderGroup* rg, const char* name)
{
Entity* e_out = nullptr;
for (u32 i = 0; i < rg->num_entities; i++) {
Entity* e = &rg->entities[i];
if (utilCStrMatch(name, e->name))
e_out = e;
}
if (e_out == nullptr)
LOGF(Error, "Entity with name, \"%s\", not found\n", name);
return e_out;
}
void void
doRenderLoop(RenderState* rs, doRenderLoop(RenderState* rs,
u32 framerate, u32 framerate,

Loading…
Cancel
Save