From 61c3e0d048c69f9ebfed3c0c03796d2d53d9bf1c Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Sat, 28 Jun 2014 19:58:38 +0200 Subject: [PATCH] GameLib_SearchEnt --- GameLib/GameLib.c | 19 +++++++++++++++++++ GameLib/GameLib.h | 9 ++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/GameLib/GameLib.c b/GameLib/GameLib.c index d2466c4..61f50b6 100644 --- a/GameLib/GameLib.c +++ b/GameLib/GameLib.c @@ -507,6 +507,25 @@ void GameLib_ForEachEnt(int (*func)(Entity ent)){ } +///////////////////////////// +// GameLib_SearchEnt +// +// Searches throught the entities. +Entity GameLib_SearchEnt(int (*func)(Entity ent,void *d),void *d){ + int i; + Entity ent=NULL; + for(i=0;i<_n_entities;i++){ + if(!_entity[i]) + continue; + if(func(_entity[i],d)){ + ent=_entity[i]; + break; + } + } + return ent; +} + + ///////////////////////////// // GameLib_PlaySound // diff --git a/GameLib/GameLib.h b/GameLib/GameLib.h index fc97841..9420e6a 100644 --- a/GameLib/GameLib.h +++ b/GameLib/GameLib.h @@ -88,12 +88,19 @@ void GameLib_DelEnts(); ///////////////////////////// -// GameLib_ForEachEn +// GameLib_ForEachEnt // // Iterates every entity. void GameLib_ForEachEnt(int (*func)(Entity ent)); +///////////////////////////// +// GameLib_SearchEnt +// +// Searches throught the entities. +Entity GameLib_SearchEnt(int (*func)(Entity ent,void *d),void *d); + + ///////////////////////////// // GameLib_PlaySound //