text2 class converted to writer class
This commit is contained in:
156
source/writer.cpp
Normal file
156
source/writer.cpp
Normal file
@@ -0,0 +1,156 @@
|
||||
#include "const.h"
|
||||
#include "writer.h"
|
||||
|
||||
// Constructor
|
||||
Writer::Writer(std::string file, LTexture *texture, SDL_Renderer *renderer)
|
||||
{
|
||||
}
|
||||
|
||||
// Destructor
|
||||
Writer::~Writer()
|
||||
{
|
||||
}
|
||||
|
||||
// Inicializador
|
||||
void Writer::init()
|
||||
{
|
||||
Text::init();
|
||||
mPosX = 0;
|
||||
mPosY = 0;
|
||||
mKerning = 0;
|
||||
mCaption = "";
|
||||
mWrittingSpeed = 0;
|
||||
mWrittingTimer = 0;
|
||||
mIndex = 0;
|
||||
mLenght = 0;
|
||||
mWrittingCompleted = false;
|
||||
mEnabled = false;
|
||||
mEnabledTimer = 0;
|
||||
mId = -1;
|
||||
mIntroEvents = nullptr;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setPosX(int value)
|
||||
{
|
||||
mPosX = value;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setPosY(int value)
|
||||
{
|
||||
mPosY = value;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setKerning(int value)
|
||||
{
|
||||
mKerning = value;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setCaption(std::string text)
|
||||
{
|
||||
mCaption = text;
|
||||
mLenght = text.length();
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setWrittingSpeed(Uint16 value)
|
||||
{
|
||||
mWrittingSpeed = value;
|
||||
mWrittingTimer = value;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setEnabled(bool value)
|
||||
{
|
||||
mEnabled = value;
|
||||
}
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
bool Writer::IsEnabled()
|
||||
{
|
||||
return mEnabled;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setEnabledTimer(Uint16 value)
|
||||
{
|
||||
mEnabledTimer = value;
|
||||
}
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
Uint16 Writer::getEnabledTimer()
|
||||
{
|
||||
return mEnabledTimer;
|
||||
}
|
||||
|
||||
// Actualiza el objeto
|
||||
void Writer::update()
|
||||
{
|
||||
if (mEnabled)
|
||||
{
|
||||
if (mWrittingCompleted == false)
|
||||
{
|
||||
if (mWrittingTimer > 0)
|
||||
{
|
||||
mWrittingTimer--;
|
||||
}
|
||||
if (mWrittingTimer == 0)
|
||||
{
|
||||
mIndex++;
|
||||
mWrittingTimer = mWrittingSpeed;
|
||||
}
|
||||
if (mIndex == mLenght)
|
||||
{
|
||||
mWrittingCompleted = true;
|
||||
}
|
||||
}
|
||||
if (mWrittingCompleted)
|
||||
{
|
||||
if (mEnabledTimer > 0)
|
||||
{
|
||||
mEnabledTimer--;
|
||||
}
|
||||
else if (mEnabledTimer == 0)
|
||||
{
|
||||
if (mId < 0)
|
||||
{
|
||||
mEnabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
mIntroEvents[mId] = EVENT_COMPLETED;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dibuja el objeto en pantalla
|
||||
void Writer::render()
|
||||
{
|
||||
if (mEnabled)
|
||||
{
|
||||
Text::write(mPosX, mPosY, mCaption, mKerning, mIndex);
|
||||
}
|
||||
}
|
||||
|
||||
// Centra la cadena de texto a un punto X
|
||||
void Writer::center(int x)
|
||||
{
|
||||
setPosX(x - (lenght(mCaption, mKerning) / 2));
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setId(int id)
|
||||
{
|
||||
mId = id;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Writer::setIntroEvents(Uint8 *value)
|
||||
{
|
||||
mIntroEvents = value;
|
||||
}
|
||||
Reference in New Issue
Block a user