Commit Description:
Update to use new StyleSet code.
Commit Description:
Update to use new StyleSet code.
File last commit:
Show/Diff file:
Action:
isometric-park-fna/UI/InGameMenu.cs
68 lines | 1.9 KiB | text/x-csharp | CSharpLexer
using System;
using ImGuiNET;
using Num = System.Numerics;
using isometricparkfna.Engines;
using isometricparkfna.Messages;
using isometricparkfna.UI;
namespace isometricparkfna.UI
{
public static class InGameMenu
{
public static void Render(ImFontPtr font, ImGuiWindowBridgeEngine bridgeEngine, int width)
{
ImGui.GetStyle().WindowMenuButtonPosition = ImGuiDir.None;
bool newShow = true;
//Has to go first so the measurement is correct:
ImGui.PushFont(font);
Num.Vector2 text_size = ImGui.CalcTextSize("Quit to Main Menu");
Num.Vector2 button_size = new Num.Vector2((int)text_size.X*1.1f,
(int)text_size.Y*1.25f+5);
StyleSets.defaultSet.push();
ImGui.SetNextWindowPos(new Num.Vector2(width/2, 200));
// ImGui.PushFont(smallFont);
ImGui.Begin("##In-game Toolbar", ref newShow, ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoSavedSettings | ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.AlwaysAutoResize);
if (ImGui.Button("Options", button_size))
{
bridgeEngine.typeMessages.Add(new ToggleWindowTypeMessage{Window = Window.Options});
}
if (ImGui.Button("Return to Game", button_size))
{
bridgeEngine.typeMessages.Add(new ToggleWindowTypeMessage{Window = Window.InGameMenu});
}
if (ImGui.Button("Quit to Main Menu", button_size))
{
bridgeEngine.gameStateMessages.Add(new GameStateMessage{isPlaying = false});
bridgeEngine.typeMessages.Add(new ToggleWindowTypeMessage{Window = Window.InGameMenu});
}
if (ImGui.Button("Quit", button_size))
{
System.Console.WriteLine("Quitting");
Environment.Exit(0);
}
ImGui.End();
ImGui.GetStyle().WindowMenuButtonPosition = ImGuiDir.Left;
StyleSets.defaultSet.pop();
ImGui.PopFont();
}
}
}