diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs index 95e63e7..96d2eca 100644 --- a/RH-Engine/CreateGraphics.cs +++ b/RH-Engine/CreateGraphics.cs @@ -8,8 +8,16 @@ namespace RH_Engine { class CreateGraphics { - string tunnelID; + public const string STANDARD_HEAD = "Head"; + public const string STANDARD_GROUND = "GroundPlane"; + public const string STANDARD_SUN = "SunLight"; + public const string STANDARD_LEFTHAND = "LeftHand"; + public const string STANDARD_RIGHTHAND = "RightHand"; + + + string tunnelID; + public CreateGraphics(string tunnelID) { this.tunnelID = tunnelID; @@ -30,6 +38,7 @@ namespace RH_Engine return JsonConvert.SerializeObject(Payload(payload)); } + public string AddNodeCommand() { dynamic payload = new @@ -50,14 +59,46 @@ namespace RH_Engine return JsonConvert.SerializeObject(Payload(payload)); } - public string DeleteGroundPaneCommand() + public string DeleteGroundPaneCommand(string uuid) { - return ""; + + dynamic payload = new + { + id = "scene/node/delete", + data = new + { + id = uuid, + + } + + }; + return JsonConvert.SerializeObject(Payload(payload)); + } public string ModelCommand() { - return ""; + string namename = "bike"; + dynamic payload = new + { + id = "scene/node/add", + data = new + { + name = namename, + components = new + { + model = new + { + file = "\\data\\NetworkEngine\\models\\bike\\bikee.fbx", + cullbackfaces = true, + animated = false, + animation = "\\data\\NetworkEngine\\models\\bike\\bike_anim.fbx" + }, + } + } + + }; + return JsonConvert.SerializeObject(Payload(payload)); } public string RouteCommand() @@ -75,6 +116,26 @@ namespace RH_Engine return ""; } + public string GetSceneInfoCommand() + { + dynamic payload = new + { + id = "scene/get" + }; + + return JsonConvert.SerializeObject(Payload(payload)); + } + + public string ResetScene() + { + dynamic payload = new + { + id = "scene/reset" + }; + + return JsonConvert.SerializeObject(Payload(payload)); + } + public string SkyboxCommand(double timeToSet) { if (timeToSet < 0 || timeToSet > 24) @@ -107,5 +168,8 @@ namespace RH_Engine } }; } + + + } } diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 0091f3b..87be7ad 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -1,4 +1,5 @@ -using Newtonsoft.Json.Linq; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net.Sockets; @@ -23,7 +24,7 @@ namespace RH_Engine TcpClient client = new TcpClient("145.48.6.10", 6666); CreateConnection(client.GetStream()); - Console.Read(); + } @@ -86,8 +87,23 @@ namespace RH_Engine } CreateGraphics createGraphics = new CreateGraphics(tunnelID); +<<<<<<< HEAD +======= + //int[] heigths = new int[65536]; + //for(int i =0; i < heigths.Length; i++) + //{ + // heigths[i] = 0; + //} + + //string command = createGraphics.TerrainCommand(new int[] { 256, 256 }, heigths); + + string groundId = GetId("GroundPlane", stream, createGraphics); + Console.WriteLine("ground id: " + groundId); + string command = createGraphics.DeleteGroundPaneCommand(groundId); + //string command = createGraphics.ResetScene(); +>>>>>>> 0e2ee807e147b30f2517a1be463f08da41a799fd Console.WriteLine("tunnelID is: " + tunnelID); WriteTextMessage(stream, createGraphics.TerrainCommand(new int[] { 2, 2 }, new int[] { 1, 1, 1, 1 })); @@ -97,6 +113,24 @@ namespace RH_Engine Console.WriteLine(ReadPrefMessage(stream)); } + 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; + + foreach (dynamic child in children) + { + if (child.name == name) + { + return child.uuid; + } + } + + return null; + + } + }