public void ProcessAnswer(string information) { dynamic jsonData = JsonConvert.DeserializeObject(information); //System.Diagnostics.Debug.WriteLine("ID: " + (string)jsonData.id); if (jsonData.id == "session/list") { ProcessSessionList(jsonData.data); } else if (jsonData.id == "tunnel/create") { ProcessTunnelCreate(jsonData.data); } else if (jsonData.id == "tunnel/send") { if (jsonData.data.data.id == "route/add") { terrain.RouteNameReceived((string)jsonData.data.data.data.uuid); } //System.Diagnostics.Debug.WriteLine((string)jsonData.data.data.id); if (jsonData.data.data.id == "scene/node/add") { terrain.NodeNameReceived((string)jsonData.data.data.data.uuid); } else if (jsonData.id == "packetid") { } else if (jsonData.id == "route/add") { } if (jsonData.data.data.id == "scene/node/find") { string uuid = jsonData.data.data.data[0].uuid; if (jsonData.data.data.data[0].name == "GroundPlane") { Send(JsonConvert.SerializeObject(Commands.DeleteNode(vrc.tunnel, uuid))); } else if (jsonData.data.data.data[0].name == "terrain") { SetupTexturesTerrain(uuid); } else if (jsonData.data.data.data[0].name == "Road") { Send(JsonConvert.SerializeObject(Commands.UpdateNode(vrc.tunnel, uuid, 0, -3.99, 0, 0, 0, 1))); } else if (jsonData.data.data.data[0].name == "MainBike") { terrain.UuidMainBike = uuid; } else if (jsonData.data.data.data[0].name == "Head") { terrain.UuidHead = uuid; } else if (jsonData.data.data.data[0].name == "Camera") { terrain.UuidCamera = uuid; } else if (jsonData.data.data.data[0].name == "BikePanel") { terrain.UuidStatsPanel = uuid; } else if (jsonData.data.data.data[0].name == "MessagePanel") { terrain.UuidMessagePanel = uuid; } } else { System.Diagnostics.Debug.WriteLine("Else: \r\n" + information); } } }
//Setup up terrain with commands in VREngine #region public void SetupTerrain() { while (tunnel == null) { Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.pause(tunnel))); while (!session.terrain.pauze) { Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.GetNodeByName(tunnel, "GroundPlane"))); while (session.terrain.UuidGroundPlane == null) { Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.DeleteNode(tunnel, session.terrain.UuidGroundPlane))); session.Send(JsonConvert.SerializeObject(Commands.CreateGroundTerrainWithHeights(tunnel))); while (!session.terrain.terainAdded) { Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.AddObject(tunnel, -105, -4, -128, 0, 0, 0, "terrain", true, false))); while (session.terrain.UuidTerrainNode == null) { Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.addTextureTerrain(tunnel, session.terrain.UuidTerrainNode, session.folder, "water.jpg", 0, 1, 1))); session.Send(JsonConvert.SerializeObject(Commands.addTextureTerrain(tunnel, session.terrain.UuidTerrainNode, session.folder, "grass_ground2y_d.jpg", 1, 5, 0))); session.Send(JsonConvert.SerializeObject(Commands.addTextureTerrain(tunnel, session.terrain.UuidTerrainNode, session.folder, "snow_mud_d.jpg", 5, 15, 0))); session.Send(JsonConvert.SerializeObject(Commands.addTextureTerrain(tunnel, session.terrain.UuidTerrainNode, session.folder, "mntn_x2_d.jpg", 15, 28, 0))); session.Send(JsonConvert.SerializeObject(Commands.addTextureTerrain(tunnel, session.terrain.UuidTerrainNode, session.folder, "snow_rough_s.jpg", 28, 40, 0))); session.Send(JsonConvert.SerializeObject(Commands.addTextureTerrain(tunnel, session.terrain.UuidTerrainNode, session.folder, "snow2ice_d.jpg", 40, 100, 0))); while (session.terrain.UuidCamera == null) { session.Send(JsonConvert.SerializeObject(Commands.GetNodeByName(tunnel, "Camera"))); Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.AddObject(tunnel, 0, 0, 0, -90, 0, 0, "MainBike", false, false))); while (session.terrain.UuidMainBike == null) { session.Send(JsonConvert.SerializeObject(Commands.GetNodeByName(tunnel, "MainBike"))); Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.UpdateNodeWithParent(tunnel, session.terrain.UuidMainBike, session.terrain.UuidCamera))); session.Send(JsonConvert.SerializeObject(Commands.UpdateNode(tunnel, session.terrain.UuidMainBike, 0, 0, 0, 180, 0, 0.5))); session.Send(JsonConvert.SerializeObject(Commands.AddObject(tunnel, 10, 0, 0, 0, 0.5, 0.4, "BikePanel", false, true))); while (session.terrain.UuidStatsPanel == null) { session.Send(JsonConvert.SerializeObject(Commands.GetNodeByName(tunnel, "BikePanel"))); Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.UpdateNodeWithParent(tunnel, session.terrain.UuidStatsPanel, session.terrain.UuidCamera))); session.Send(JsonConvert.SerializeObject(Commands.UpdateNode(tunnel, session.terrain.UuidStatsPanel, 0, 1, -0.75, 0, -30, 1))); session.Send(JsonConvert.SerializeObject(Commands.AddObject(tunnel, 10, 0, 0, 0, 1, 0.5, "MessagePanel", false, true))); while (session.terrain.UuidMessagePanel == null) { session.Send(JsonConvert.SerializeObject(Commands.GetNodeByName(tunnel, "MessagePanel"))); Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.UpdateNodeWithParent(tunnel, session.terrain.UuidMessagePanel, session.terrain.UuidCamera))); session.Send(JsonConvert.SerializeObject(Commands.UpdateNode(tunnel, session.terrain.UuidMessagePanel, 0.9, 1.5, -1.4, -30, 0, 1))); session.Send(JsonConvert.SerializeObject(Commands.addSkyBox(tunnel))); session.Send(JsonConvert.SerializeObject(Commands.AddRoute(tunnel))); while (session.terrain.UuidRoute == null) { Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.AddRoad(tunnel, session.terrain.UuidRoute))); while (session.terrain.UuidRoadNode == null) { session.Send(JsonConvert.SerializeObject(Commands.GetNodeByName(tunnel, "Road"))); Thread.Sleep(1000); } session.Send(JsonConvert.SerializeObject(Commands.UpdateNode(tunnel, session.terrain.UuidRoadNode, 0, -3.99, 0, 0, 0, 1))); session.Send(JsonConvert.SerializeObject(Commands.MoveObject(tunnel, session.terrain.UuidCamera, session.terrain.UuidRoute))); session.Send(JsonConvert.SerializeObject(Commands.UpdateSpeed(tunnel, session.terrain.UuidCamera, 0))); session.Send(JsonConvert.SerializeObject(Commands.SwapPanel(tunnel, session.terrain.UuidStatsPanel))); session.Send(JsonConvert.SerializeObject(Commands.SwapPanel(tunnel, session.terrain.UuidMessagePanel))); session.Send(JsonConvert.SerializeObject(Commands.play(tunnel))); }