mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2026-08-15 02:57:49 +04:00
102 lines
3.6 KiB
C#
102 lines
3.6 KiB
C#
using ImGuiNET;
|
|
using NResUI.Abstractions;
|
|
using NResUI.Models;
|
|
|
|
namespace NResUI.ImGuiUI;
|
|
|
|
public class ResearchTreeExplorer : IImGuiPanel
|
|
{
|
|
private readonly ResearchTreeViewModel _viewModel;
|
|
|
|
public ResearchTreeExplorer(ResearchTreeViewModel viewModel)
|
|
{
|
|
_viewModel = viewModel;
|
|
}
|
|
|
|
public void OnImGuiRender()
|
|
{
|
|
if (ImGui.Begin("Research Tree Explorer (trf)"))
|
|
{
|
|
ImGui.Text("trf - это файл дерева исследований. Их можно найти в папке MISSIONS/SCRIPTS");
|
|
ImGui.Separator();
|
|
|
|
var nodes = _viewModel.ResearchNodeDatas;
|
|
|
|
if (_viewModel.HasFile && nodes is not null)
|
|
{
|
|
if (ImGui.TreeNodeEx("Узлы"))
|
|
{
|
|
for (var i = 0; i < nodes.Count; i++)
|
|
{
|
|
var node = nodes[i];
|
|
if (ImGui.TreeNodeEx($"{i} - \"{node.LongName}\" (\"{node.ShortName}\")"))
|
|
{
|
|
ImGui.Text("Состояние: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.State.ToString("G"));
|
|
|
|
ImGui.Text("ShortName: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.ShortName);
|
|
|
|
ImGui.Text("LongName: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.LongName);
|
|
|
|
ImGui.Text("HelpText: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.HelpText);
|
|
|
|
ImGui.Text("Description: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Description);
|
|
|
|
ImGui.Text("Тип турели: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Node.TurretType.ToString());
|
|
|
|
ImGui.Text("Основной тип: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Node.MainType.ToString());
|
|
|
|
ImGui.Text("Подтип: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Node.SubType.ToString());
|
|
|
|
ImGui.Text("Подтип строения: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Node.BuildSubSystem.ToString());
|
|
|
|
ImGui.Text("Размер типа: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Node.SizeOfType.ToString());
|
|
|
|
ImGui.Text("Уровень апгрейда: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(node.Node.UpgradeLevel.ToString());
|
|
|
|
ImGui.Text("Условия: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(string.Join(", ", node.PrerequisiteIds));
|
|
|
|
ImGui.Text("Открывает: ");
|
|
ImGui.SameLine();
|
|
ImGui.Text(string.Join(", ", node.UnlockIds));
|
|
|
|
ImGui.TreePop();
|
|
}
|
|
}
|
|
|
|
ImGui.TreePop();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ImGui.Text("trf не открыт");
|
|
}
|
|
|
|
ImGui.End();
|
|
}
|
|
}
|
|
}
|