// GAME FLOW METHODS
 private void StartNewturn()
 {
     ActivePlayer.StartOfTurn();
     NonActivePlayer.StartOfTurn();
     E_TurnStart.Invoke();
     ActivePlayer.DoIncome();
     ActivePlayer.DrawCard();
 }
    // called when recieving end turn message
    public void startTurnForOnline()
    {
        if (gameMode != GameMode.online)
        {
            throw new Exception("Only call this for online play");
        }
        // trigger end turn effects
        E_TurnEnd.Invoke();
        // re enable end turn
        endTurnButton.gameObject.SetActive(true);
        // do income and trigger effects
        SwitchActivePlayer();
        Player localPlayer = NetInterface.Get().localPlayer;

        localPlayer.StartOfTurn();
        localPlayer.DoIncome();
        localPlayer.DrawCard();
        E_TurnStart.Invoke();
        // unlock local player
        NetInterface.Get().localPlayer.RemoveLock(activePlayerLock);
    }