public void OnClientMessage(ClientMessage msg)
        {
            string action = msg.GetString("action");

            switch (action)
            {
            case "gimme":
                economyManager.AddResource(
                    EconomyManager.Resource.RewardAmount,
                    msg.GetInt("amount"),
                    (ItemClass)ScriptableObject.CreateInstance("ItemClass"));
                break;

            case "payLoan": {
                var r = economyManager.PayLoanNow(msg.GetInt("id"));
                if (r == null)
                {
                    Log($"PayLoanNow returns null");
                }
                else
                {
                    Log($"PayLoanNow returns: {r}");
                }
                break;
            }

            //case "setBudget": {
            //		//TODO, also set tax rate
            //		//economyManager.SetBudget();
            //		break;
            //	}
            default:
                throw new ArgumentException($"Invalid method {action}");
            }
        }