Esempio n. 1
0
    protected override Vector2[] FillItem(ChartItemVO item, Vector2 pos, Vector2 size, float lerp)
    {
        Vector2    sizeDelta = (transform as RectTransform).sizeDelta;
        float      radius    = Mathf.Min(sizeDelta.x, sizeDelta.y) / 2;
        Vector2    center    = Vector2.one * radius;
        PiePieceVO piece     = item as PiePieceVO;
        Vector2    fillInfo  = Data.GetItemFillInfo(piece);

        canvas.Arc(center, radius, false, Color.white, 1, true, item.color, fillInfo.x, fillInfo.y, 180);
        return(new Vector2[] {});
    }
Esempio n. 2
0
    /// <summary>
    /// Get pie piece fill info, x is starting position, y is fill amount
    /// </summary>
    public Vector2 GetItemFillInfo(PiePieceVO piece)
    {
        float totalValue = this.totalValue;
        float weight     = (piece.value / totalValue);
        int   index      = Array.IndexOf(m_Items, piece);
        float startFill  = 0;

        for (int i = 0; i < index; i++)
        {
            startFill += m_Items[i].value;
        }
        startFill = (startFill / totalValue);
        // float dicimalStart = startFill - (int)startFill;
        // startFill = (int)startFill;
        // weight = (int) weight + dicimalStart;
        return(new Vector2(startFill * 100, weight * 100));
    }