using Godot; using Mr.BrickAdventures.scripts.Resources; namespace Mr.BrickAdventures.scripts.interfaces; public interface ISkill { /// /// Sets the skill up on its owner at a given level. /// /// /// How far this skill is upgraded. Passed in rather than read from : the /// level belongs to the Playthrough, whereas SkillData is a shared cached resource — one /// instance per process — so keeping it there never persisted and would leak between save slots. /// void Initialize(Node owner, SkillData data, int level); void Activate(); void Deactivate(); void ApplyUpgrade(SkillUpgrade upgrade); }