using Gamesmiths.Forge.Cues; using Gamesmiths.Forge.Tags; using Godot; namespace Movementtests.tools; public partial class ForgeManager : Node { public CuesManager CuesManager { get; private set; } = new CuesManager(); public TagsManager TagsManager { get; private set; } = new TagsManager( [ // entities "character.player", "character.enemy", "weapon", // Statuses "status.stunned", "status.weapon.inHand", "status.weapon.flying", "status.weapon.planted", // Abilities "abilities.weapon.land", "abilities.weapon.flying", "abilities.weapon.left", // Events "events.combat.damage", "events.combat.hit", "events.weapon.flyingTick", "events.weapon.startedFlying", "events.weapon.stoppedFlying", "events.weapon.handToFlying", "events.weapon.flyingToHand", "events.weapon.plantedToHand", "events.weapon.plantedToFlying", "events.weapon.planted", // Cooldowns "cooldown.empoweredAction", "cooldown.empoweredSwordThrow", // Cues "cues.resources.mana", ]); public static ForgeManager GetForgeManager(Node node) { return node.GetTree().Root.GetNode("ForgeManager"); } public static TagsManager GetTagsManager(Node node) { return GetForgeManager(node).TagsManager; } public static CuesManager GetCuesManager(Node node) { return GetForgeManager(node).CuesManager; } }