public static LineUI Create(ref GameObject lineObject, Transform start, Transform end, Vector2 startOffset, Vector2 endOffset, Color color, float lineWidth) { if (lineObject == null) { lineObject = new GameObject("lineUI"); } Image img = lineObject.GetComponent <Image>(); if (img == null) { img = lineObject.AddComponent <Image>(); } img.color = color; LineUI line = lineObject.GetComponent <LineUI>(); if (line == null) { line = lineObject.AddComponent <LineUI>(); } line.start = start; line.end = end; line.startOffset = startOffset; line.endOffset = endOffset; line.width = lineWidth; line.UpdateLine(); return(line); }
private void UpdateTriangleUI() { if (triangle.triangleShow == NeedsTriangle.Show.aboveHead) { RectTransform rt = headScreenUI.GetComponent <CanvasUIElement>().GetUI(); Transform faceTransform = rt.transform.GetChild(1); LineUI.Create(ref faceToTriangle_line, triangle.transform, faceTransform, new Vector2(0, -100), Vector2.zero, new Color(1, 1, 1, .5f), 10); faceToTriangle_line.transform.SetParent(triangle.transform.parent); faceToTriangle_line.transform.localScale = Vector3.one; faceToTriangle_line.SetActive(true); } else if (faceToTriangle_line != null) { faceToTriangle_line.SetActive(false); } if (showTriangleDuration > 0) { showTriangleDuration -= Time.deltaTime; if (showTriangleDuration <= 0) { if (transform.tag != "Player") { // player UI is always in the player UI area. never go back to chest. //Debug.Log(name+" TRIANGLE OFF!"); triangle.SetShow(NeedsTriangle.Show.inChest); } } } }