TmpMenu/BigBaseV2/src/gui/user_sidebar.cpp

83 lines
1.9 KiB
C++
Raw Normal View History

2020-12-26 19:59:40 +01:00
#include "imgui.h"
#include "gui.hpp"
#include "features.hpp"
namespace big
{
void gui::render_user_sidebar()
{
ImGui::SetNextWindowSize({ 350.f, (float)y }, ImGuiCond_Always);
ImGui::SetNextWindowPos({ x - 350.f, 0.f }, ImGuiCond_Always);
if (ImGui::Begin("###player_menu", NULL, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoNav))
{
auto vecButtonWidth = ImVec2(ImGui::GetWindowSize().x, 0.0f);
ImGui::TextColored({ 255,255,255,255 }, "YOU:");
for (uint8_t i = 0; i < 32; i++)
2020-12-26 19:59:40 +01:00
{
player player = g_players[i];
if (player.id == g_playerId) g_currentPlayer = player;
}
if (ImGui::Button(g_currentPlayer.name, vecButtonWidth))
{
g_selectedPlayer = g_currentPlayer;
g_selectedPlayerId = g_currentPlayer.id;
2020-12-26 19:59:40 +01:00
}
ImGui::Separator();
if (ImGui::TreeNode("Friends"))
{
bool friendInLobby = false;
for (int i = 0; i < 32; i++)
{
player player = g_players[i];
if (player.is_friend && player.is_online)
{
friendInLobby = true;
if (ImGui::Button(player.name, vecButtonWidth))
{
g_selectedPlayer = player;
g_selectedPlayerId = player.id;
2020-12-26 19:59:40 +01:00
}
}
}
if (!friendInLobby)
{
ImGui::TextColored({ 180,180,180,255 }, " No friends in current lobby.");
}
ImGui::TreePop();
ImGui::Separator();
}
if (ImGui::TreeNode("Players"))
{
for (int i = 0; i < 32; i++)
{
player player = g_players[i];
if (!player.is_friend && player.is_online && player.id != g_playerId)
2020-12-26 19:59:40 +01:00
{
if (ImGui::Button(player.name, vecButtonWidth))
{
g_selectedPlayer = player;
g_selectedPlayerId = player.id;
2020-12-26 19:59:40 +01:00
}
}
}
ImGui::TreePop();
}
ImGui::End();
}
}
}