bool spriteBatch_deleteSprite(SpriteBatch_t *aBatch, Sprite_t *aSprite) { bool ret = llist_deleteValue(aBatch->sprites, aSprite); if(ret) --aBatch->spriteCount; return ret; }
void input_endEvent(InputManager_t *aManager, Input_type_t aType, unsigned char *aCode) { _InputEvent_t *event; if(!_input_eventIsActive(aManager, aType, aCode, &event)) return; Input_type_t state = event->state == kInputState_down ? kInputState_up : kInputState_down; input_postMomentaryEvent(aManager, aType, aCode, &event->location, state); llist_deleteValue(aManager->activeEvents, event); free(event); }
bool input_removeObserver(InputManager_t *aManager, InputObserver_t *aObserver) { return llist_deleteValue(aManager->observers, aObserver); }
void world_removeEntity(World_t *aWorld, WorldEntity_t *aEntity) { llist_apply(aEntity->shapes, (LinkedListApplier_t)&_removeShapeFromSpace, aWorld); aEntity->world = NULL; llist_deleteValue(aWorld->entities, aEntity); }