Files
Babushka/scripts/CSharp/Common/Fight/PathSetup.cs
jonathan fd0e631b1f Bootstrap fight system
- Fight World data structure
- Generating basic fight world
- Opening correct fight room
- Block paths in fight rooms
- Transition between rooms
2025-11-04 05:25:22 +01:00

49 lines
1.2 KiB
C#

using System.Diagnostics;
using Godot;
namespace Babushka.scripts.CSharp.Common.Fight;
public partial class PathSetup : Node
{
[Export] private int pathId;
[ExportCategory("Variants")] [Export] private CanvasItem closedVariant;
[Export] private CanvasItem nextRoomVariant;
public override void _Ready()
{
SetupPathVariant();
}
private void SetupPathVariant()
{
Debug.Assert(FightWorld.Instance.currentRoom != null);
if (FightWorld.Instance.currentRoom.paths.TryGetValue(pathId, out var nextRoom))
{
ShowOnlyVariant(nextRoomVariant);
}
else
{
ShowOnlyVariant(closedVariant);
}
}
private void ShowOnlyVariant(CanvasItem variantToShow)
{
HideVariant(closedVariant);
HideVariant(nextRoomVariant);
ShowVariant(variantToShow);
}
private void ShowVariant(CanvasItem variant)
{
variant.Visible = true;
variant.ProcessMode = ProcessModeEnum.Always;
}
private void HideVariant(CanvasItem variant)
{
variant.Visible = false;
variant.ProcessMode = ProcessModeEnum.Disabled;
}
}