Ejemplo n.º 1
0
    void OnMouseUp()
    {
        if (GetComponent <MeshRenderer>().material.color == Color.green)
        {
            switch (localEulerAngles)
            {
            case "(270.0, 0.0, 0.0)":
                //Debug.Log("Collider position " + hit.collider.transform.position);
                Vector3 _offset_row = new Vector3(9.52f, -7.78f, 0.01f);
                trans.position = hit.collider.transform.position - _offset_row;
                //Debug.Log("Modul position " + trans.position);
                break;

            case "(270.0, 270.0, 0.0)":
                //Debug.Log("Collider position " + hit.collider.transform.position);
                Vector3 _offset_column = new Vector3(0.18f, -7.78f, 9.42f);
                trans.position = hit.collider.transform.position - _offset_column;
                //Debug.Log("Modul position " + trans.position);
                break;
            }
            previousposition = trans.position;
            hit.collider.GetComponent <BoxCollider>().enabled = false;
            previousCollidername = Collidername;
            if (int.Parse(previousCollidername.Substring(6, 1)) % 2 == 0)
            {
                x = float.Parse(previousCollidername.Substring(5, 1)) / float.Parse(previousCollidername.Substring(6, 1));
                y = float.Parse(previousCollidername.Substring(7, 1));
            }
            else
            {
                x = float.Parse(previousCollidername.Substring(5, 1));
                y = float.Parse(previousCollidername.Substring(6, 1)) / float.Parse(previousCollidername.Substring(7, 1));
            }

            Positionstring = "Position: x=" + x.ToString("0.0") + ", y=" + y.ToString("0.0");
            //Debug.Log("position string" + Positionstring);
            serverPort = GetComponent <ConstructorClient_StapelMagazin>().getServerPortNr();
            msc        = new ModulServerClient(serverPort, Positionstring);
        }
        else
        {
            trans.position = previousposition;
            GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = false;
        }
        GetComponent <MeshRenderer>().material.color = originalColor;
        isDrag = false;
    }
Ejemplo n.º 2
0
    void OnMouseUp()
    {
        if (GetComponent <MeshRenderer>().material.color == Color.green)
        {
            switch (localEulerAngles)
            {
            case "(0.0, 270.0, 90.0)":
                //Debug.Log("hit.collider.transform.position" + hit.collider.transform.position);
                Vector3 _offset_row = new Vector3(0, -0.46f, 9.75f);
                trans.position = hit.collider.transform.position - _offset_row;
                //Debug.Log("trans.position" + trans.position);
                //GetComponent<ConveyorScript>().enabled = true;      //script for horizontal conveyor belt
                //GetComponent<ConveyorScript_Vertikal>().enabled = false;
                break;

            case "(0.0, 180.0, 90.0)":
                //Debug.Log("hit.collider.transform.position" + hit.collider.transform.position);
                Vector3 _offset_column = new Vector3(-9.67f, -0.46f, 0);
                trans.position = hit.collider.transform.position - _offset_column;
                Debug.Log("trans.position" + trans.position);
                //GetComponent<ConveyorScript>().enabled = false;
                //GetComponent<ConveyorScript_Vertikal>().enabled = true; // script for horizontal conveyor belt
                break;
            }
            previousposition = trans.position;
            hit.collider.GetComponent <BoxCollider>().enabled = false;
            previousCollidername = Collidername;
            x = int.Parse(previousCollidername.Substring(8, 1));
            y = int.Parse(previousCollidername.Substring(9, 1));
            Positionstring = "Position: x=" + x.ToString() + ", y=" + y.ToString();
            //Debug.Log("position string" + Positionstring);
            serverPort = GetComponent <ConstrutorClient_ConveyorBelt>().getServerPortNr();
            msc        = new ModulServerClient(serverPort, Positionstring);
            //GetComponent<tcpClient_Conveyor>().SendPosition(serverPort,Positionstring);
        }
        else
        {
            trans.position = previousposition;
            GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = false;
        }
        GetComponent <MeshRenderer>().material.color = originalColor;
        isDrag = false;
    }
Ejemplo n.º 3
0
    void OnMouseUp()
    {
        if (GetComponent <MeshRenderer>().material.color == Color.green)
        {
            switch (localEulerAngles)
            {
            case "(270.0, 0.0, 0.0)":
                Vector3 _offset_row = new Vector3(10.9f, -7.72f, 1.56f);
                trans.position = hit.collider.transform.position - _offset_row;
                break;

            case "(270.0, 270.0, 0.0)":
                Vector3 _offset_column = new Vector3(-1.4f, -7.72f, 10.71f);
                trans.position = hit.collider.transform.position - _offset_column;
                break;
            }
            previousposition = trans.position;
            hit.collider.GetComponent <BoxCollider>().enabled = false;
            previousCollidername = Collidername;
            if (int.Parse(previousCollidername.Substring(6, 1)) % 2 == 0)
            {
                x = float.Parse(previousCollidername.Substring(5, 1)) / float.Parse(previousCollidername.Substring(6, 1));
                y = float.Parse(previousCollidername.Substring(7, 1));
            }
            else
            {
                x = float.Parse(previousCollidername.Substring(5, 1));
                y = float.Parse(previousCollidername.Substring(6, 1)) / float.Parse(previousCollidername.Substring(7, 1));
            }

            Positionstring = "Position: x=" + x.ToString("0.0") + ", y=" + y.ToString("0.0");
            serverPort     = GetComponent <ConstructorClient_Bohren_Fraesen>().getServerPortNr();
            msc            = new ModulServerClient(serverPort, Positionstring);
        }
        else
        {
            trans.position = previousposition;
            GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = false;
        }
        GetComponent <MeshRenderer>().material.color     = originalColor;
        son.GetComponent <MeshRenderer>().material.color = originalColor;
        isDrag = false;
    }
Ejemplo n.º 4
0
    void OnMouseDrag()
    {
        isDrag = true;
        GetComponent <MeshRenderer>().material.color = Color.red;
        //the previous collider should be activated again for the other omni modul
        GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = true;

        //gameobject moves with mouse
        MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, ObjScreenSpace.z);
        ObjWorldSpace    = Camera.main.ScreenToWorldPoint(MouseScreenSpace) + Offset;
        if (ObjWorldSpace.y > 0.55f == false)
        {
            ObjWorldSpace.y = 4f;
        }
        trans.position = ObjWorldSpace;

        //delete modul
        if (Input.GetKeyDown(KeyCode.D))
        {
            serverPort = GetComponent <ConstructorClient_Omni>().getServerPortNr();
            msc        = new ModulServerClient(serverPort, "deleted");
            Destroy(trans.gameObject);
        }

        //show the place that gameobject can be placed
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, mask.value))
        {
            Collidername = hit.collider.name;
            GetComponent <MeshRenderer>().material.color = Color.green;
        }
        else
        {
            GetComponent <MeshRenderer>().material.color = Color.red;
        }
    }
Ejemplo n.º 5
0
    void OnMouseUp()
    {
        if (GetComponent <MeshRenderer>().material.color == Color.green)
        {
            Vector3 _offset = new Vector3(0.2f, -0.55f, 0);
            transform.position = hit.collider.transform.position - _offset;

            previousposition = trans.position;
            hit.collider.GetComponent <BoxCollider>().enabled = false;
            previousCollidername = Collidername;
            x = int.Parse(previousCollidername.Substring(4, 1));
            y = int.Parse(previousCollidername.Substring(5, 1));
            Positionstring = "Position: x=" + x.ToString() + ", y=" + y.ToString();
            serverPort     = GetComponent <ConstructorClient_Omni>().getServerPortNr();
            msc            = new ModulServerClient(serverPort, Positionstring);
        }
        else
        {
            trans.position = previousposition;
            GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = false;
        }
        GetComponent <MeshRenderer>().material.color = originalColor;
        isDrag = false;
    }
Ejemplo n.º 6
0
    void OnMouseDrag()
    {
        isDrag = true;
        GetComponent <MeshRenderer>().material.color = Color.red;
        GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = true;

        //gameobject moves with mouse
        MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, ObjScreenSpace.z);
        //Debug.Log("ObjScreenSpace" + ObjScreenSpace.z);
        ObjWorldSpace = Camera.main.ScreenToWorldPoint(MouseScreenSpace) + Offset;
        if (ObjWorldSpace.y > 0.46f == false)
        {
            ObjWorldSpace.y = 5f;
        }
        trans.position = ObjWorldSpace;

        //change the rotation of gameobject
        localEulerAngles = trans.localEulerAngles.ToString();
        if (Input.GetKeyDown(KeyCode.W))
        {
            switch (localEulerAngles)
            {
            case "(0.0, 270.0, 90.0)":
                trans.rotation = Quaternion.Euler(new Vector3(0, 180, 90));
                break;

            case "(0.0, 180.0, 90.0)":
                trans.rotation = Quaternion.Euler(new Vector3(0, 270, 90));
                break;

            default:
                trans.rotation = Quaternion.Euler(new Vector3(0, 270, 90));
                break;
            }
        }

        //delete modul
        if (Input.GetKeyDown(KeyCode.D))
        {
            serverPort = GetComponent <ConstrutorClient_ConveyorBelt>().getServerPortNr();
            msc        = new ModulServerClient(serverPort, "deleted");
            Destroy(trans.gameObject);
        }

        //show the place that gameobject can be placed
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        //Debug.DrawRay(ray.origin, ray.direction, Color.green);  // project green ray

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, mask.value))
        {
            Collidername = hit.collider.name;
            switch (localEulerAngles)
            {
            case "(0.0, 270.0, 90.0)":                                //is related to Conveyor1/3/5
                if (int.Parse(Collidername.Substring(8, 1)) % 2 != 0) //Format is "Conveyor1/3/5"oder"Conveyor0/2/4/6",get the number and decided if it is odd or even number.
                {
                    GetComponent <MeshRenderer>().material.color = Color.green;
                }
                else
                {
                    GetComponent <MeshRenderer>().material.color = Color.red;
                }
                break;

            case "(0.0, 180.0, 90.0)":                                //is related to Conveyor0/2/4/6
                if (int.Parse(Collidername.Substring(8, 1)) % 2 == 0) //Format is "Conveyor1/3/5"oder"Conveyor0/2/4/6",get the number and decided if it is odd or even number.
                {
                    GetComponent <MeshRenderer>().material.color = Color.green;
                }
                else
                {
                    GetComponent <MeshRenderer>().material.color = Color.red;
                }
                break;
            }
        }
    }
Ejemplo n.º 7
0
    void OnMouseDrag()
    {
        isDrag = true;
        GetComponent <MeshRenderer>().material.color     = Color.yellow;
        son.GetComponent <MeshRenderer>().material.color = Color.yellow;
        GameObject.Find(previousCollidername).GetComponent <BoxCollider>().enabled = true;

        //gameobject moves with mouse
        MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, ObjScreenSpace.z);
        ObjWorldSpace    = Camera.main.ScreenToWorldPoint(MouseScreenSpace) + Offset;
        if (ObjWorldSpace.y > 7.72f == false)
        {
            ObjWorldSpace.y = 8f;
        }
        trans.position = ObjWorldSpace;

        //change the rotation of gameobject
        localEulerAngles = trans.localEulerAngles.ToString();
        if (Input.GetKeyDown(KeyCode.W))
        {
            switch (localEulerAngles)
            {
            case "(270.0, 0.0, 0.0)":
                trans.rotation = Quaternion.Euler(new Vector3(270, 270, 0));
                break;

            case "(270.0, 270.0, 0.0)":
                trans.rotation = Quaternion.Euler(new Vector3(270, 0, 0));
                break;

            default:
                trans.rotation = Quaternion.Euler(new Vector3(270, 270, 0));
                break;
            }
        }

        //delete modul
        if (Input.GetKeyDown(KeyCode.D))
        {
            serverPort = GetComponent <ConstructorClient_Bohren_Fraesen>().getServerPortNr();
            msc        = new ModulServerClient(serverPort, "deleted");
            Destroy(trans.gameObject);
        }

        //show the place that gameobject can be placed
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, mask.value))
        {
            Collidername = hit.collider.name;
            switch (localEulerAngles)
            {
            case "(270.0, 0.0, 0.0)":                                 //should put on the side of horizontal conveyor
                if (int.Parse(Collidername.Substring(6, 1)) % 2 == 0) //Format is "Modul#2#",get the middle number, it should be even.
                {
                    GetComponent <MeshRenderer>().material.color     = Color.green;
                    son.GetComponent <MeshRenderer>().material.color = Color.green;
                }
                else
                {
                    GetComponent <MeshRenderer>().material.color     = Color.yellow;
                    son.GetComponent <MeshRenderer>().material.color = Color.yellow;
                }
                break;

            case "(270.0, 270.0, 0.0)":                               //should put on the side of vertical conveyor
                if (int.Parse(Collidername.Substring(6, 1)) % 2 != 0) //Format is "Modul#1/3/5#",get the middle number, it should be odd number.
                {
                    GetComponent <MeshRenderer>().material.color     = Color.green;
                    son.GetComponent <MeshRenderer>().material.color = Color.green;
                }
                else
                {
                    GetComponent <MeshRenderer>().material.color     = Color.yellow;
                    son.GetComponent <MeshRenderer>().material.color = Color.yellow;
                }
                break;
            }
        }
    }