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}"); } }