diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs index 6b37350..ed31b97 100644 --- a/RH-Engine/CreateGraphics.cs +++ b/RH-Engine/CreateGraphics.cs @@ -16,8 +16,8 @@ namespace RH_Engine - string tunnelID; - + string tunnelID; + public CreateGraphics(string tunnelID) { this.tunnelID = tunnelID; @@ -96,12 +96,12 @@ namespace RH_Engine data = new { id = uuid, - + } }; return JsonConvert.SerializeObject(Payload(payload)); - + } public string ModelCommand() @@ -117,10 +117,10 @@ namespace RH_Engine { model = new { - file = "\\data\\NetworkEngine\\models\\bike\\bikee.fbx", + file = "data\\NetworkEngine\\models\\bike\\bike.fbx", cullbackfaces = true, animated = false, - animation = "\\data\\NetworkEngine\\models\\bike\\bike_anim.fbx" + animation = "data\\NetworkEngine\\models\\bike\\bike_anim.fbx" }, } } @@ -129,6 +129,7 @@ namespace RH_Engine return JsonConvert.SerializeObject(Payload(payload)); } + public string RouteCommand() { return ""; @@ -175,10 +176,11 @@ namespace RH_Engine dynamic payload = new { id = "scene/skybox/settime", - data = new { + data = new + { time = timeToSet } - + }; return JsonConvert.SerializeObject(Payload(payload)); @@ -197,7 +199,7 @@ namespace RH_Engine }; } - - + + } } diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index aafdbee..5fb3e11 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -13,12 +13,22 @@ namespace RH_Engine internal class Program { private static PC[] PCs = { +<<<<<<< HEAD new PC("DESKTOP-TV73FK0", "woute"), //new PC("DESKTOP-M2CIH87", "Fabian"), //new PC("T470S", "Shinichi"), //new PC("DESKTOP-DHS478C", "semme"), new PC("NA", "Ralf"), new PC("NA", "Bart") }; +======= + //new PC("DESKTOP-M2CIH87", "Fabian"), + new PC("T470S", "Shinichi"), + //new PC("DESKTOP-DHS478C", "semme"), + //new PC("DESKTOP-TV73FKO", "Wouter"), + //new PC("NA", "Ralf"), + //new PC("NA", "Bart") + }; +>>>>>>> 8fd3322c63830c7f5cc7668ffd49e8203dbe1a95 private static void Main(string[] args) { TcpClient client = new TcpClient("145.48.6.10", 6666); @@ -91,7 +101,9 @@ namespace RH_Engine string groundId = GetId("GroundPlane", stream, createGraphics); Console.WriteLine("ground id: " + groundId); - string command = createGraphics.DeleteGroundPaneCommand(groundId); + + string command; + command = createGraphics.SkyboxCommand(DateTime.Now.Millisecond % 24); Console.WriteLine("tunnelID is: " + tunnelID); @@ -101,19 +113,26 @@ namespace RH_Engine WriteTextMessage(stream, createGraphics.AddNodeCommand()); Console.WriteLine(ReadPrefMessage(stream)); - /*String tempID = GetId("newNode", stream, createGraphics); - WriteTextMessage(stream, createGraphics.AddLayer(tempID, "")); + command = createGraphics.ModelCommand(); + + WriteTextMessage(stream, command); + Console.WriteLine(ReadPrefMessage(stream)); - WriteTextMessage(stream, createGraphics.UpdateTerrain()); - Console.WriteLine(ReadPrefMessage(stream));*/ + + } + /// + /// gets the id of the object with the given name + /// + /// the name of the object + /// the network stream to send requests to + /// the create graphics object to create all the commands + /// the uuid of the object with the given name, null otherwise. public static string GetId(string name, NetworkStream stream, CreateGraphics createGraphics) { - WriteTextMessage(stream, createGraphics.GetSceneInfoCommand()); - dynamic response = JsonConvert.DeserializeObject(ReadPrefMessage(stream)); - JArray children = response.data.data.data.children; + JArray children = GetChildren(stream, createGraphics); foreach (dynamic child in children) { @@ -122,11 +141,46 @@ namespace RH_Engine return child.uuid; } } - + Console.WriteLine("Could not find id of " + name); return null; } + /// + /// gets all the children in the current scene + /// + /// the network stream to send requests to + /// the create graphics object to create all the commands + /// all the children objects in the current scene + public static JArray GetChildren(NetworkStream stream, CreateGraphics createGraphics) + { + WriteTextMessage(stream, createGraphics.GetSceneInfoCommand()); + dynamic response = JsonConvert.DeserializeObject(ReadPrefMessage(stream)); + return response.data.data.data.children; + } + + /// + /// returns all objects in the current scene, as name-uuid tuples. + /// + /// the network stream to send requests to + /// the create graphics object to create all the commands + /// an array of name-uuid tuples for each object + public static (string,string)[] GetObjectsInScene(NetworkStream stream, CreateGraphics createGraphics) + { + JArray children = GetChildren(stream, createGraphics); + (string, string)[] res = new (string, string)[children.Count]; + + int i = 0; + foreach (dynamic child in children) + { + res[i] = (child.name, child.uuid); + i++; + } + + return res; + + } + }