147 lines
3.3 KiB
C++
147 lines
3.3 KiB
C++
/* ************************************************************************** */
|
|
/* _____ */
|
|
/* Render.cpp | ___| _ ____ ___ */
|
|
/* Project : C-Engine | |_ | | | __| / _ \ */
|
|
/* | _| | | | |= | __/ */
|
|
/* By: Fife <wasabifife@gmail.com> |_| |_| |_| \___| */
|
|
/* */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include "..\Rework\include\Components\Render.hpp"
|
|
|
|
Render::Render(Object * Pointeur)
|
|
{
|
|
Conteneur = Pointeur;
|
|
TabAnim = NULL;
|
|
nb_anim = 0;
|
|
|
|
iterateur = 0;
|
|
|
|
reverse = false;
|
|
direction = 0;
|
|
|
|
copie = false;
|
|
|
|
}
|
|
|
|
Render::~Render()
|
|
{
|
|
if(copie)delete TabAnim;
|
|
}
|
|
|
|
void Render::SetRender(Animation * v, int nb)
|
|
{
|
|
TabAnim = v;
|
|
nb_anim = nb;
|
|
}
|
|
|
|
void Render::SetRender(Animation & v)
|
|
{
|
|
TabAnim = &v;
|
|
nb_anim = 1;
|
|
}
|
|
|
|
void Render::CopieRender(Animation * v, int nb)
|
|
{
|
|
TabAnim = new Animation[nb];
|
|
|
|
for(int i = 0; i < nb ; i++)
|
|
{
|
|
TabAnim[i] = v[i];
|
|
}
|
|
|
|
nb_anim = nb;
|
|
copie = true;
|
|
}
|
|
|
|
void Render::CopieRender(Animation & v)
|
|
{
|
|
TabAnim = new Animation;
|
|
|
|
TabAnim[0] = v;
|
|
|
|
nb_anim = 1;
|
|
copie = true;
|
|
}
|
|
|
|
void Render::SetIt(int v)
|
|
{
|
|
/*if(iterateur != v && (!TabAnim[iterateur].GetWaittheEnd() || TabAnim[iterateur].GetisEnd()))
|
|
{*/
|
|
iterateur = v;
|
|
TabAnim[ iterateur].SetIt(0);
|
|
// }
|
|
}
|
|
|
|
int Render::GetIt()
|
|
{
|
|
if(TabAnim)return iterateur;
|
|
|
|
return 0;
|
|
}
|
|
|
|
void Render::ReverseRender(bool v)
|
|
{
|
|
reverse = v;
|
|
}
|
|
|
|
bool Render::GetReverse()
|
|
{
|
|
return reverse;
|
|
}
|
|
|
|
void Render::SetDirection(int v)
|
|
{
|
|
direction = v;
|
|
|
|
if(direction > 360) direction -= 360;
|
|
if(direction < 0) direction += 360;
|
|
}
|
|
|
|
int Render::GetDirection()
|
|
{
|
|
return direction;
|
|
}
|
|
|
|
int Render::GetSizeY()
|
|
{
|
|
if(TabAnim)return TabAnim[iterateur].GetSizeY();
|
|
|
|
return 0;
|
|
}
|
|
|
|
int Render::GetSizeX()
|
|
{
|
|
if(TabAnim)return TabAnim[iterateur].GetSizeX();
|
|
|
|
return 0;
|
|
}
|
|
|
|
int Render::GetBlitX()
|
|
{
|
|
if(TabAnim)return TabAnim[iterateur].GetBlitX();
|
|
|
|
return 0;
|
|
}
|
|
|
|
int Render::GetBlitY()
|
|
{
|
|
if(TabAnim)return TabAnim[iterateur].GetBlitY();
|
|
|
|
return 0;
|
|
}
|
|
|
|
void Render::DrawObject()
|
|
{
|
|
if(TabAnim)
|
|
{
|
|
if( iterateur >= nb_anim) iterateur = 0;
|
|
|
|
if(!reverse)
|
|
TabAnim[ iterateur].DrawAnim( Conteneur->GetTransform()->GetRelativeX() , 64 - Conteneur->GetTransform()->GetRelativeY() - GetSizeY() , direction);
|
|
else
|
|
TabAnim[ iterateur].DrawReverseAnim( Conteneur->GetTransform()->GetRelativeX() , 64 - Conteneur->GetTransform()->GetRelativeY() - GetSizeY() , direction);
|
|
}
|
|
}
|