void AddNewInput(InputMode toAdd, Zone[] zones = null, int howMany = -1, FinishInput onFinish_in = null, bool upTo_in = false) { if (zones == null) { zones = new Zone[] { GameplayManager.instance.hand }; } int totalPossible = 0; foreach (Zone z in zones) { totalPossible += z.GetCount(); } InputState newState = new InputState(); newState.validZones = new HashSet <Zone>(zones); newState.stepsLeft = howMany; newState.mode = toAdd; newState.onFinish = onFinish_in; newState.upTo = upTo_in; stateStack.Push(newState); foreach (PhysicalCard c in PhysicalCard.interactableCards) { UpdatePCard(c); } }
public override void KeyUp(NSEvent theEvent) { base.KeyUp(theEvent); if (FinisherKeys.Contains(theEvent.KeyCode)) { FinishInput?.Invoke(this, EventArgs.Empty); } }
public void Select(Zone[] zones = null, int howMany = -1, FinishInput onFinish_in = null, bool upTo_in = false) { AddNewInput(InputMode.Selecting, zones, howMany, onFinish_in, upTo_in); }