Files
imgui-godot/SomeOtherNode.cs
Patrick Dawson 459ecac367 Finishing up docs
2020-08-02 19:13:02 +02:00

41 lines
1.1 KiB
C#

using Godot;
using System;
using ImGuiNET;
using Vector2 = System.Numerics.Vector2;
public class SomeOtherNode : Node
{
private ImGuiNode ig;
private IntPtr iconTextureId;
private Texture iconTexture;
private bool filter;
private int iconSize;
public override void _Ready()
{
ig = GetNode<ImGuiNode>("/root/Control/ImGui");
ig.Connect("IGLayout", this, nameof(_onLayout));
iconTexture = GD.Load<Texture>("res://icon.png");
iconTextureId = ig.BindTexture(iconTexture);
filter = (iconTexture.Flags & (uint)Texture.FlagsEnum.Filter) != 0;
iconSize = (int)iconTexture.GetSize().x;
}
public void _onLayout()
{
ImGui.Begin("test");
ImGui.Text("hello Godot");
ImGui.Image(iconTextureId, new Vector2(iconSize, iconSize));
ImGui.DragInt("size", ref iconSize, 1.0f, 32, 512);
ImGui.Checkbox("filter", ref filter);
ImGui.End();
ImGui.ShowDemoWindow();
if (!filter)
iconTexture.Flags &= ~((uint)Texture.FlagsEnum.Filter);
else
iconTexture.Flags |= (uint)Texture.FlagsEnum.Filter;
}
}