void Physics_addCollisionCallbackOnObjectType(CollisionCallback* callback, ObjectType* type) { if (type->collisionListeners == NULL) { type->collisionListeners = LinkedList_new(); } LinkedList_addLast(type->collisionListeners, callback); }
void Physics_addCollisionCallbackOnGameObject(CollisionCallback* callback, GameObject* object) { if (object->collisionListeners == NULL) { object->collisionListeners = LinkedList_new(); } LinkedList_addLast(object->collisionListeners, callback); }
void RenderBatch_addDrawable(RenderBatch* batch, Drawable* drawable) { smug_assert(NULL != batch); smug_assert(NULL != drawable); smug_assert(Drawable_getTexture(drawable) == batch->texture); smug_assert(Drawable_getDataSize(drawable) == batch->objectSize); // Add drawable to list LinkedList_addLast(batch->drawables, drawable); }
int maina() { LinkedList* l; l = LinkedList_new(); LinkedListIterator* iter = LinkedList_getIterator(l); if (LinkedListIterator_hasMore(iter)) { return 1; } if (LinkedListIterator_getNext(iter) != NULL) { return 2; } if (LinkedListIterator_getSame(iter) != NULL) { return 3; } LinkedListIterator_delete(iter); int i; int* j; // Add 100 integer pointers to list. for (i = 0; i < 100; i++) { j = malloc(sizeof(int)); *j = i; LinkedList_addLast(l, j); } iter = LinkedList_getIterator(l); int count = 0; while (LinkedListIterator_hasMore(iter)) { j = LinkedListIterator_getNext(iter); if (count != *j) { return 4; } count++; if (j != LinkedListIterator_getSame(iter)) { return 5; } } if (count != 99) { return 6; } LinkedListIterator_delete(iter); LinkedList_deleteContents(l, intDeleter); LinkedList_delete(l); return 0; }
void Physics_addCollisionCheck(int type1, int type2) { TypePair* pair = TypePair_new(type1, type2); LinkedList_addLast(activeCollisionChecks, pair); }