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);
        }
    }
Beispiel #2
0
        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);
 }