Right now I have fixed a bug which caused any weapon to fire immediately after it's selected. Initially, the code was:
foreach (var step in UpdateRoutine ()) {
InputSystem.Update ();
yield return step;
}
UpdateRoutine has an instruction to take local turn data and if a weapon was readied, select it and close the arsenal UI.
What happened: we press a button on the UI to select a weapon, then the routine reads turn data and resets weapon pre-selection, *closing the arsenal UI*, then input system updates, *registering the click as if it didn't hit the UI, because the UI is closed and unable…