void GameLog::DrawHudMessages(Graphics::Renderer *r) { Graphics::Renderer::MatrixTicket ticket1(r, Graphics::MatrixMode::MODELVIEW); Graphics::Renderer::MatrixTicket ticket2(r, Graphics::MatrixMode::PROJECTION); Graphics::RenderStateDesc rsd; rsd.depthTest = false; rsd.depthWrite = false; Graphics::RenderState *prsd = r->CreateRenderState(rsd); //I'd rather render this as one string, but then we can't //have per-line fade - markup doesn't support alpha r->SetOrthographicProjection(0, m_screenSize.x, m_screenSize.y, 0, -1, 1); r->SetTransform(matrix4x4f::Identity()); r->SetRenderState(prsd); const Color &c = Color::PARAGON_GREEN; //Colors::HUD_MESSAGE; float y = 0; for (auto it = m_messages.rbegin(); it != m_messages.rend(); ++it) { float alpha = 1.f; if (it->time > FADE_AFTER) { alpha = 1.0f - (float(it->time - FADE_AFTER) / FADE_TIME); } m_font->RenderString(it->msg.c_str(), m_offset.x, m_offset.y + y, Color(c.r, c.g, c.b, alpha*255)); y -= m_lineHeight; } }
int Domaci3::execute() { Airplane AS38; AS38.showAirplane(); Ticket ticket1(12, 3, 114.2); Ticket ticket2(4, 4, 126.2); AS38.sellTicket(&ticket1); AS38.sellTicket(&ticket2); AS38.showAirplane(); return 0; }