void OnMouseUp() { if (outputPortal) { if (mouseDown) { outputPortal = false; var v3 = Input.mousePosition; v3.z = distance; Vector3 posUp = Camera.main.ScreenToWorldPoint(v3); //Debug.Log("OnMouseUp " + posUp); float distX = Mathf.Abs(posUp.x - pos.x); float distY = Mathf.Abs(posUp.y - pos.y); //Debug.Log("distX: " + distX + ", distY: " + distY); Vector2 vec; if (distX > distY) { if (posUp.x > pos.x) { vec = Vector2.right; currentOutputPortal.GetComponent <SpriteRenderer>().sprite = outPortalRight; } else { vec = Vector2.left; currentOutputPortal.GetComponent <SpriteRenderer>().sprite = outPortalLeft; } } else { if (posUp.y > pos.y) { vec = Vector2.up; currentOutputPortal.GetComponent <SpriteRenderer>().sprite = outPortalUp; } else { vec = Vector2.down; currentOutputPortal.GetComponent <SpriteRenderer>().sprite = outPortalDown; } } outPos = pos; //Debug.Log("Direction: " + vec); mouseDown = false; OutputPortal localOutputPortal = new OutputPortal(id, vec); localOutputPortal.setOutputPortal(currentOutputPortal); localOutputPortal.setPosition((int)pos.x, (int)pos.y); portals.Add(new Tuple(por, localOutputPortal)); id++; portalColor = new Color(UnityEngine.Random.value, UnityEngine.Random.value, UnityEngine.Random.value, 1.0f); } } }
public Tuple(InputPortal inp, OutputPortal outp) { inputPortal = inp; outputPortal = outp; }
void OnMouseUp() { if (outputPortal) { if (mouseDown) { outputPortal = false; var v3 = Input.mousePosition; v3.z = distance; Vector3 posUp = Camera.main.ScreenToWorldPoint(v3); //Debug.Log("OnMouseUp " + posUp); float distX = Mathf.Abs(posUp.x - pos.x); float distY = Mathf.Abs(posUp.y - pos.y); //Debug.Log("distX: " + distX + ", distY: " + distY); Vector2 vec; if (distX > distY) { if (posUp.x > pos.x) { vec = Vector2.right; currentOutputPortal.GetComponent<SpriteRenderer>().sprite = outPortalRight; }else{ vec = Vector2.left; currentOutputPortal.GetComponent<SpriteRenderer>().sprite = outPortalLeft; } } else { if (posUp.y > pos.y) { vec = Vector2.up; currentOutputPortal.GetComponent<SpriteRenderer>().sprite = outPortalUp; } else { vec = Vector2.down; currentOutputPortal.GetComponent<SpriteRenderer>().sprite = outPortalDown; } } outPos = pos; //Debug.Log("Direction: " + vec); mouseDown = false; OutputPortal localOutputPortal = new OutputPortal(id, vec); localOutputPortal.setOutputPortal(currentOutputPortal); localOutputPortal.setPosition((int)pos.x, (int)pos.y); portals.Add(new Tuple(por, localOutputPortal)); id++; portalColor = new Color(UnityEngine.Random.value, UnityEngine.Random.value, UnityEngine.Random.value, 1.0f); } } }
public Tuple(InputPortal inp, OutputPortal outp) { inputPortal = inp; outputPortal = outp; }