#include "creditscode.h" #include "include/Engine.h" #include "main_code.h" const int TGameCredits::CONST_STATE_APPEARING = 0; const int TGameCredits::CONST_STATE_APPEARED = 1; const int TGameCredits::CONST_STATE_DISAPPEARING = 2; const int TGameCredits::CONST_STATE_DISAPPEARED = 3; const float TGameCredits::CONST_APPEAR_TIME = 150.f; TGameCredits::TGameCredits() : TGameAreaAncestor() , StateTimer(0) , State(CONST_STATE_DISAPPEARED) { } void TGameCredits::Draw() { float transparency = StateTimer/CONST_APPEAR_TIME; RenderUniform1f("Transparency", transparency); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList["main_menu_bkg_left"]); Renderer->DrawRect(vec2(0, 0.f), vec2(480.f, 320.f)); const vec2 creditsPos(140.f, 130.f); const vec2 creditsHalfSize(128.f, 128.f); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_CREDITS_TEXTURE]); Renderer->DrawRect(creditsPos-creditsHalfSize, creditsPos+creditsHalfSize); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_LOGO_SMALL_TEXTURE]); Renderer->DrawRect(vec2(240.f-128.f+15.f, 320.f-64.f), vec2(240.f+128.f+15.f, 320.f)); CheckGlError("Draw TGameCredits"); } void TGameCredits::Update(cardinal dt) { if (State == CONST_STATE_APPEARING) { StateTimer += dt; if (StateTimer >= CONST_APPEAR_TIME) { StateTimer = CONST_APPEAR_TIME; State = CONST_STATE_APPEARED; } } else if (State == CONST_STATE_DISAPPEARING) { StateTimer -= dt; if (StateTimer <= 0.f) { StateTimer = 0.f; State = CONST_STATE_DISAPPEARED; } } } void TGameCredits::OnTapDown(vec2 p) { Application->GoFromCreditsToMenu(); } void TGameCredits::StartAppear() { State = CONST_STATE_APPEARING; } void TGameCredits::StartDisappear() { State = CONST_STATE_DISAPPEARING; }