Example #1
0
    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);
            }
        }
    }
Example #2
0
 public Tuple(InputPortal inp, OutputPortal outp)
 {
     inputPortal = inp;
     outputPortal = outp;
 }
Example #3
0
    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);
            }
        }
    }
Example #4
0
 public Tuple(InputPortal inp, OutputPortal outp)
 {
     inputPortal  = inp;
     outputPortal = outp;
 }