feat: port retail magic lifecycle and retained spell UI
Complete the retail cast-intent, target, component, enchantment, and busy-state paths; mount the DAT-authored spell bar, spellbook, component book, effects panels, and shared panel lifecycle; and add scoped input plus conformance coverage. Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
parent
7b7ffcd278
commit
07be994d97
84 changed files with 17822 additions and 1051 deletions
|
|
@ -57,6 +57,20 @@ public class KeyBindingsTests
|
|||
Assert.Null(b.Find(new KeyChord(Key.S, ModifierMask.None), ActivationType.Press));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RetailDefaults_resolve_shared_number_key_by_scope()
|
||||
{
|
||||
var bindings = KeyBindings.RetailDefaults();
|
||||
var chord = new KeyChord(Key.Number1, ModifierMask.None);
|
||||
|
||||
Assert.Equal(
|
||||
InputAction.UseQuickSlot_1,
|
||||
bindings.Find(chord, ActivationType.Press, InputScope.Game)?.Action);
|
||||
Assert.Equal(
|
||||
InputAction.UseSpellSlot_1,
|
||||
bindings.Find(chord, ActivationType.Press, InputScope.MagicCombat)?.Action);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ForAction_returns_all_chords_bound_to_action()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue