public void SetupWebSocket(string data)
    {
        //webSocketData= new WebSocketData();
        //webSocketData = webSocketData.Deserealize(data);
        webSocketData = new WebSocketData(data);
        Send("On Message");

        switch (webSocketData.Reason)
        {
        case "Movement":
            Debug.Log("Movement");
            planets = GameObject.FindGameObjectsWithTag("Planet");
            foreach (GameObject planet in planets)
            {
                if (webSocketData.ID == planet.GetComponent <MobController>().ID)
                {
                    planet.transform.rotation = new Quaternion(webSocketData.RX, webSocketData.RY, webSocketData.RZ, planet.transform.rotation.w);
                    planet.GetComponent <Rigidbody>().AddForce(new Vector3(webSocketData.X, webSocketData.Y, webSocketData.Z));
                }
            }
            break;

        case "Generate":
            Debug.Log("Generate");
            if (webSocketData.Mob == "Asteroid")
            {
                Instantiate(asteroid, new Vector3(webSocketData.X, webSocketData.Y, webSocketData.Z), Quaternion.identity);
                asteroid.GetComponent <MobController>().ID = webSocketData.ID;
            }
            else if (webSocketData.Mob == "Planet")
            {
                Instantiate(planet, new Vector3(webSocketData.X, webSocketData.Y, webSocketData.Z), Quaternion.identity);
                planet.GetComponent <MobController>().ID = webSocketData.ID;
            }
            break;

        case "Dead":
            Debug.Log("Dead");

            foreach (GameObject planet in planets)
            {
                if (webSocketData.ID == planet.GetComponent <MobController>().ID)
                {
                    Destroy(planet);
                }
            }
            break;

        default:
            break;
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     random        = new System.Random();
     webSocketData = new WebSocketData("Generate", Guid.NewGuid().ToString(), 0f, 0f, 0f, "Planet");
     GameObject.Find("Web Socket Client").GetComponent <WebSocketClient>().Send(webSocketData.Serialize());
     for (int i = 0; i < 50; i++)
     {
         webSocketData = new WebSocketData("Generate", Guid.NewGuid().ToString(), random.Next(-100, 100), random.Next(-100, 100), random.Next(-100, 100), "Asteroid");
         GameObject.Find("Web Socket Client").GetComponent <WebSocketClient>().Send(webSocketData.Serialize());
         Instantiate(asteroid, new Vector3(webSocketData.X, webSocketData.Y, webSocketData.Z), Quaternion.identity);
     }
     lives = 5;
 }
Example #3
0
    public WebSocketData(string json)
    {
        Debug.Log(json);
        WebSocketData data = JsonConvert.DeserializeObject <WebSocketData>(json);

        Debug.Log(data);
        Reason = data.Reason;
        ID     = data.ID;
        X      = data.X;
        Y      = data.Y;
        Z      = data.Z;
        RX     = data.RX;
        RY     = data.RY;
        RZ     = data.RZ;
        Mob    = data.Mob;
    }
Example #4
0
        private async Task HandleMessage(WebSocket socket, WebSocketData webSocketData)
        {
            switch (webSocketData.Result.MessageType)
            {
            case WebSocketMessageType.Text:
                await SendToAll(webSocketData);

                break;

            case WebSocketMessageType.Close:
                await HandleCloseMessage(socket);

                break;

            default:
                break;
            }
        }
Example #5
0
    // Update is called once per frame
    void Update()
    {
        //Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        //RaycastHit hit;

        //if (Physics.Raycast(ray, out hit, 100))
        //{
        Vector2 lookPosition = Input.mousePosition;

        lookPosition.x = lookPosition.x - Screen.width / 2;
        lookPosition.y = lookPosition.y - Screen.height / 2;
        this.transform.LookAt(lookPosition);
        //}

        if (Input.GetButtonDown("Forward"))
        {
            objectRigidbody.AddForce(transform.forward * Input.GetAxis("Forward") * 20f);
            webSocketData = new WebSocketData("Movement", gameObject.GetComponent <MobController>().ID, transform.forward.x * Input.GetAxis("Forward") * 20f, transform.forward.y * Input.GetAxis("Forward") * 20f, transform.forward.z * Input.GetAxis("Forward") * 20f, transform.rotation.x, transform.rotation.y, transform.rotation.z);
            GameObject.Find("Web Socket Client").GetComponent <WebSocketClient>().Send(webSocketData.Serialize());
            //Debug.Log(JsonUtility.ToJson(webSocketData));
        }
    }