diff --git a/RH-Engine/Command.cs b/RH-Engine/Command.cs index 6491de4..d7de332 100644 --- a/RH-Engine/Command.cs +++ b/RH-Engine/Command.cs @@ -106,6 +106,64 @@ namespace RH_Engine } + public string addPanel() + { + dynamic payload = new + { + id = "scene/node/add", + data = new + { + name = "dashboard", + components = new + { + panel = new + { + size = new int[] { 1, 1 }, + resolution = new int[] { 256, 256 }, + background = new int[] { 1, 1, 1, 1 }, + castShadow = true + + } + } + } + }; + + return JsonConvert.SerializeObject(Payload(payload)); + } + + public string bikeSpeed(string uuidPanel) + { + dynamic payload = new + { + id = "scene/panel/drawtext", + data = new + { + id = uuidPanel, + text = "Bike speed placeholder", + position = new int[] { 0, 0 }, + size = 32.0, + color = new int[] { 0, 0, 0, 1 }, + font = "segoeui" + } + }; + + return JsonConvert.SerializeObject(Payload(payload)); + } + + public string ClearPanel(string uuid) + { + dynamic payload = new + { + id = "scene/panel/clear", + data = new + { + id = uuid + } + }; + + return JsonConvert.SerializeObject(Payload(payload)); + } + public string AddBikeModel() { return AddModel("bike", "data\\NetworkEngine\\models\\bike\\bike.fbx"); diff --git a/RH-Engine/JSONParser.cs b/RH-Engine/JSONParser.cs index 2f1f903..2309d7f 100644 --- a/RH-Engine/JSONParser.cs +++ b/RH-Engine/JSONParser.cs @@ -70,5 +70,15 @@ namespace RH_Engine return null; } + public static string getPanelID(string json) + { + dynamic jsonData = JsonConvert.DeserializeObject(json); + if (jsonData.data.data.data.name == "dashboard") + { + Console.WriteLine(jsonData.data.data.data.uuid); + return jsonData.data.data.data.uuid; + } + return null; + } } } diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 5955866..8a710c3 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -17,10 +17,10 @@ namespace RH_Engine { private static PC[] PCs = { //new PC("DESKTOP-M2CIH87", "Fabian"), - new PC("T470S", "Shinichi"), + //new PC("T470S", "Shinichi"), //new PC("DESKTOP-DHS478C", "semme"), //new PC("DESKTOP-TV73FKO", "Wouter"), - //new PC("DESKTOP-SINMKT1", "Ralf"), + new PC("DESKTOP-SINMKT1", "Ralf van Aert"), //new PC("NA", "Bart") }; private static void Main(string[] args) @@ -104,8 +104,6 @@ namespace RH_Engine } sendCommands(stream, tunnelID); - - } /// @@ -126,18 +124,28 @@ namespace RH_Engine Console.WriteLine(ReadPrefMessage(stream)); string command; - command = mainCommand.AddBikeModel(); + //command = mainCommand.AddBikeModel(); + //WriteTextMessage(stream, command); + + //Console.WriteLine(ReadPrefMessage(stream)); + + //command = mainCommand.AddModel("car", "data\\customModels\\TeslaRoadster.fbx"); + + //WriteTextMessage(stream, command); + + //Console.WriteLine(ReadPrefMessage(stream)); + + + command = mainCommand.addPanel(); WriteTextMessage(stream, command); - + string response = ReadPrefMessage(stream); + Console.WriteLine("add Panel response: \n\r" + response); + string uuidPanel = JSONParser.getPanelID(response); + WriteTextMessage(stream, mainCommand.ClearPanel(uuidPanel)); Console.WriteLine(ReadPrefMessage(stream)); - - command = mainCommand.AddModel("car", "data\\customModels\\TeslaRoadster.fbx"); - - WriteTextMessage(stream, command); - + WriteTextMessage(stream, mainCommand.bikeSpeed(uuidPanel)); Console.WriteLine(ReadPrefMessage(stream)); - } ///