Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        //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)));
        }