Fix minimap

This commit is contained in:
2026-06-02 21:00:58 -07:00
parent e7a2b7314f
commit 189497458d
4 changed files with 23 additions and 1 deletions
+8
View File
@@ -227,6 +227,14 @@ public partial class Game : Node3D, IGame
public void FloorExitReached() => GameState.Input(new GameState.Input.FloorExitEntered());
public void ShowMinimap(bool isVisible)
{
if (_map.CurrentFloor is SpecialFloor)
InGameUI.ShowMinimap(false);
else
InGameUI.ShowMinimap(true);
}
public async Task UseItem(IBaseInventoryItem item)
{
if (item.ItemTag == ItemTag.MysteryItem)
+2 -1
View File
@@ -2,7 +2,6 @@
namespace Zennysoft.Game.Ma;
using Chickensoft.AutoInject;
using Chickensoft.Collections;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.SaveFileBuilder;
using System;
@@ -31,6 +30,8 @@ public interface IGame : IProvide<IGame>, IProvide<IGameRepo>, IProvide<IPlayer>
public void FloorExitReached();
public void ShowMinimap(bool visible);
public void GameOver();
public Task Save();
+4
View File
@@ -110,6 +110,10 @@ public partial class Map : Node3D, IMap
SetupDungeonFloor();
CurrentFloor.FloorIsLoaded = true;
CurrentFloorNumber.OnNext(CurrentFloorNumber.Value + 1);
if (CurrentFloor is SpecialFloor)
Game.ShowMinimap(false);
else
Game.ShowMinimap(true);
}
private async Task<Node> LoadNewFloor(string sceneName)
@@ -11,6 +11,8 @@ public interface IInGameUI : IControl
void CloseInventory();
public void SetAffinity(ElementType elementType);
public void ShowMinimap(bool isVisible);
}
[Meta(typeof(IAutoNode))]
@@ -32,6 +34,8 @@ public partial class InGameUI : Control, IInGameUI
[Node] public DebugInfo DebugInfo { get; set; } = default!;
[Node] public Minimap MiniMap { get; set; } = default!;
[Node] public TextureRect EolicImg { get; set; } = default!;
[Node] public TextureRect FerrumImg { get; set; } = default!;
@@ -104,6 +108,11 @@ public partial class InGameUI : Control, IInGameUI
}
}
public void ShowMinimap(bool isVisible)
{
MiniMap.Visible = isVisible;
}
public void CloseInventory()
{
InventoryMenu.Hide();