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; }
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; }
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; }
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; } }
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; }
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; } } }
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; } } }