void Start() { //rate = 1.0f; mySign = gameObject.AddComponent <sign>() as sign; mySign.setDirection(-transform.forward * transform.lossyScale.magnitude); mySign.setTargets(gateTarget); mySign.moveable = false; }
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; } } } } }