/// <summary> /// Handle "Instances" message from client. /// </summary> /// <param name="msg">Message.</param> /// <remarks>Expects a dict with one of the keys: /// TODO /// </remarks> public void OnClientMessage(ClientMessage msg) { string action = msg.GetString("action"); switch (action) { case "AudioManager": SendJson(GetAudio(), "Instances.AudioManager"); break; case "BuildingManager": SendJson(GetBuildings(), "Instances.BuildingManager"); break; case "CitizenManager": SendJson(GetCitizens(), "Instances.CitizenManager"); break; case "DisasterManager": SendJson(GetDisasters(), "Instances.DisasterManager"); break; case "DistrictManager": SendJson(GetDistricts(), "Instances.DistrictManager"); break; case "EconomyManager": SendJson(GetEconomy(), "Instances.EconomyManager"); break; case "ElectricityManager": SendJson(GetElectricity(), "Instances.ElectricityManager"); break; case "EventManager": SendJson(GetEvents(), "Instances.EventManager"); break; case "GameAreaManager": SendJson(GetGameAreas(), "Instances.GameAreaManager"); break; case "NetManager": SendJson(GetNetworks(), "Instances.NetManager"); break; case "PathManager": SendJson(GetPaths(), "Instances.PathManager"); break; case "PropManager": SendJson(GetProps(), "Instances.PropManager"); break; case "RenderManager": SendJson(GetRender(), "Instances.RenderManager"); break; case "SimulationManager": SendJson(GetSimulation(), "Instances.SimulationManager"); break; case "TerrainManager": SendJson(GetTerrain(), "Instances.TerrainManager"); break; case "TransferManager": SendJson(GetTransfers(), "Instances.TransferManager"); break; case "TransportManager": SendJson(GetTransport(), "Instances.TransportManager"); break; case "TreeManager": SendJson(GetTrees(), "Instances.TreeManager"); break; case "VehicleManager": SendJson(GetVehicles(), "Instances.VehicleManager"); break; case "WeatherManager": SendJson(GetWeather(), "Instances.WeatherManager"); break; case "ZoneManager": SendJson(GetZones(), "Instances.ZoneManager"); break; default: throw new ArgumentException($"Invalid method {action}"); } }