예제 #1
0
    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);
    }
예제 #2
0
 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);
             }
         }
     }
 }