diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs index c4331ba..6da32bc 100644 --- a/RH-Engine/CreateGraphics.cs +++ b/RH-Engine/CreateGraphics.cs @@ -250,9 +250,21 @@ namespace RH_Engine return ""; } - public string RoadCommand() + public string RoadCommand(string uuid_route) { - return ""; + dynamic payload = new + { + id = "scene/road/add", + data = new + { + route = uuid_route, + diffuse = "data/NetworkEngine/textures/tarmac_diffuse.png", + normal = "data/NetworkEngine/textures/tarmac_normale.png", + specular = "data/NetworkEngine/textures/tarmac_specular.png", + heightoffset = 0.01 + } + }; + return JsonConvert.SerializeObject(Payload(payload))); } public string GetSceneInfoCommand() diff --git a/RH-Engine/JSONParser.cs b/RH-Engine/JSONParser.cs index d2e167f..2f1f903 100644 --- a/RH-Engine/JSONParser.cs +++ b/RH-Engine/JSONParser.cs @@ -60,6 +60,15 @@ namespace RH_Engine return null; } + public static string GetRouteID(string json) + { + dynamic jsonData = JsonConvert.DeserializeObject(json); + if (jsonData.data.status == "ok") + { + return jsonData.data.uuid; + } + return null; + } } } diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 6ae1d64..7328292 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -104,11 +104,20 @@ namespace RH_Engine CreateGraphics createGraphics = new CreateGraphics(tunnelID); WriteTextMessage(stream, createGraphics.RouteCommand()); - Console.WriteLine("data: " + ReadPrefMessage(stream)); - //WriteTextMessage(stream, createGraphics.GetSceneInfoCommand()); - //add monkey head - //WriteTextMessage(stream, createGraphics.AddModel("Face", "data\\vrlib\\rendermodels\\face\\face.obj", new float[] { 0, 3, 0 }, 10, new float[] { 0, 0, 0 })); - //string headUuid = getUUIDFormResponse(ReadPrefMessage(stream)); + + string routeResponse = ReadPrefMessage(stream); + + string routeID = JSONParser.GetTunnelID(tunnelResponse); + if (routeID == null) + { + Console.WriteLine("could not find a valid route uuid!"); + return; + } + + WriteTextMessage(stream, createGraphics.RoadCommand(routeID)); + + //string groundId = GetId("GroundPlane", stream, createGraphics); + //Console.WriteLine("ground id: " + groundId);