#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; }