Exemple #1
0
 void Start()
 {
     //rate = 1.0f;
     mySign = gameObject.AddComponent <sign>() as sign;
     mySign.setDirection(-transform.forward * transform.lossyScale.magnitude);
     mySign.setTargets(gateTarget);
     mySign.moveable = false;
 }
Exemple #2
0
    void OnMouseDown_()
    {
        if (isDraging)
        {
            isDraging = false;
            Debug.Log("This should not happen on mouseDown We should always be draging. Closing the current line");
            if (dt == drawType.barrier)
            {
                myStrips[pointer].stop();
            }
            else if (dt == drawType.wall)
            {
            }
        }
        else
        {
            RaycastHit hit;
            if (getClickPos(out hit))
            {
                if (dt == drawType.barrier)
                {
                    GameObject newLineHost = Instantiate(LineHostPrefab) as GameObject;
                    Strip      temp        = newLineHost.transform.GetComponent <Strip>();
                    newLineHost.transform.parent   = transform;
                    newLineHost.transform.position = Vector3.zero + (Vector3.up * 0.1f);
                    temp.init(selectedColor, hit.point);
                    isDraging = true;
                    myStrips.Add(temp);
                    pointer = myStrips.Count - 1;
                    lastPos = hit.point;
                    Debug.Log("Start: " + lastPos);
                }
                else if (dt == drawType.wall)
                {
                    //	floor.transform.GetComponent<vectorField>().addWWC(hit.point); // interaction has to re implemented also recarding the recalculation of the VectorField
                }
                else if (dt == drawType.sign)
                {
                    Debug.Log("clicking in sign draw type with click count: " + clickCount);
                    if (clickCount == 0)
                    {
                        targetSign = hit.transform.GetComponent <sign>();
                        if (targetSign != null && targetSign.moveable)
                        {
                            targetSign.setActive(false);
                            plane.transform.GetComponent <SpriteRenderer>().enabled = true;
                            plane.transform.GetComponent <SpriteRenderer>().sprite  = box;
                            plane.transform.position   = new Vector3(hit.point.x, heightAbovePeople, hit.point.z);
                            plane.transform.localScale = new Vector3(2, 2, 1);
                            clickCount = 1;
                            Debug.Log("Blub1");
                        }
                    }
                    else if (clickCount == 1)
                    {
                        targetSign.transform.position = new Vector3(hit.point.x, targetSign.transform.position.y, hit.point.z);

                        float distance = (hit.point - targetSign.transform.position).magnitude / 2;
                        plane.transform.localScale = new Vector3(distance, distance, 1);

                        plane.transform.GetComponent <SpriteRenderer>().sprite = arrow;

                        plane.transform.GetComponent <SpriteRenderer>().enabled = true;
                        clickCount = 2;
                        Debug.Log("Blub2");
                    }
                    else if (clickCount == 2)
                    {
                        targetSign.transform.rotation = Quaternion.LookRotation(-new Vector3(hit.point.x, heightAbovePeople, hit.point.z) + new Vector3(targetSign.transform.position.x, heightAbovePeople, targetSign.transform.position.z)) * Quaternion.AngleAxis(-90, Vector3.right);

                        targetSign.setDirection(new Vector3(hit.point.x, 0, hit.point.z) - new Vector3(targetSign.transform.position.x, 0, targetSign.transform.position.z));
                        plane.transform.GetComponent <SpriteRenderer>().enabled = false;
                        clickCount = 0;
                        targetSign.setActive(true);
                        targetSign = null;
                        Debug.Log("Blub3");
                    }
                    else if (clickCount == 10)
                    {
                        //targetSign = null;
                        //clickCount = 0;
                    }
                }
            }
        }
    }