Example #1
0
void Object_init(Object* self, uint32_t nbCasesX, uint32_t nbCasesY, uint32_t sizeX, uint32_t sizeY)
{
	Drawable* drawable = (Drawable*)self;
	Drawable_init(drawable, NULL);
	self->sizeX = sizeX;
	self->sizeY = sizeY;
	self->nbCasesX = nbCasesX;
	self->nbCasesY = nbCasesY;
	self->tiles = (Tile***)malloc(nbCasesX * sizeof(Tile**));
	uint32_t i=0;
	uint32_t j;
	for(i=0; i < nbCasesX; i++)
	{
		self->tiles[i] = (Tile**)malloc(nbCasesY * sizeof(Tile*));
		for(j=0; j < nbCasesY; j++)
			self->tiles[i][j] = NULL;
	}

	drawable->setPosition = &Object_setPosition;
	drawable->setSize     = &Object_setSize;
	drawable->setStatic   = &Object_setStatic;
	drawable->draw        = &Object_draw;
	drawable->destroy     = &Object_destroy;

	drawable->setSize(drawable, nbCasesX*sizeX, nbCasesY*sizeY);
	self->updateCollision = &Object_updateCollision;
	self->info = 0x00;
}
Example #2
0
Drawable* Drawable_newBoxFromSize(Vector size)
{
    Drawable* newObj = (Drawable*)malloc(sizeof(_Drawable));
    Drawable_init(newObj);
    newObj->_writeBatchDataFunc = writeBatchData;
    newObj->_getDataSizeFunc = getDataSize;
    newObj->mShape = Shape_newFromRectangle(Rectangle_createFromXYWH(0, 0, Vector_getX(&size), Vector_getY(&size)));
    smug_assert(_invariant(newObj));
    return newObj;
/*    smug_assert(GameObject_isExactType(newObj, SMUG_TYPE_SHAPE));
    smug_assert(GameObject_isType(newObj, SMUG_TYPE_SHAPE));
    smug_assert(GameObject_isType(newObj, SMUG_TYPE_DRAWABLE));
    smug_assert(GameObject_isType(newObj, SMUG_TYPE_POSITION));
    smug_assert(GameObject_isType(newObj, SMUG_TYPE_OBJECT)); */
}
Example #3
0
Drawable* Drawable_newGeneric(void)
{
    Drawable* newObj = (Drawable*)malloc(sizeof(Drawable*));
    Drawable_init(newObj);
    return newObj;
}