Exemplo n.º 1
0
    /**
     * Instantiates submenu items.
     */
    IEnumerator CreateSubMenu()
    {
        buttonArray = new GameObject[numbOfMenuItems];
        for (int i = 0; i < numbOfMenuItems; i++)
        {
            MenuItemVals itemVals     = CalcItemLocationOnArc(i, numbOfMenuItems);
            Vector3      itemPosition = itemVals.Position;

            itemPosition = itemPosition + menuInstance.transform.position;

            MenuBtn btn = new MenuBtn();

            btn.SetStartEndPos(menuInstance.transform.position, itemPosition);
            btn.SetAngleFromMenuStart(itemVals.Angle);

            GameObject clone = Instantiate(btnPrefab, itemPosition, Quaternion.identity, menuInstance.transform);
            clone.name = i.ToString();

            btn.SetName(clone.name);

            // GameObject clone = Instantiate(btnPrefab, menuInstance.transform.position, Quaternion.identity, menuInstance.transform);
            Vector3 endPos = itemPosition + menuInstance.transform.position;
            // LerpClones(clone, menuInstance.transform.position, endPos);
            buttonArray[i] = clone;
        }
        readyToLerp = true;
        Debug.Log(readyToLerp);
        startTime      = Time.time;
        distanceLength = Vector3.Distance(menuInstance.transform.position, buttonArray[0].transform.position);
        Debug.Log("distanceLength");
        Debug.Log(distanceLength);
        yield return(new WaitForSeconds(1f));
    }
Exemplo n.º 2
0
    /**
     * Calculates submenu item location along arc
     */
    private MenuItemVals CalcItemLocationOnArc(int index, int len)
    {
        incrementAngleValue = (Mathf.PI / 2f) / len + 0.1f;
        float touchAngle = rad2Degs * Mathf.Deg2Rad;

        if (index == 0)
        {
            pointAngle = touchAngle - (incrementAngleValue * (len / 2));
        }
        else
        {
            pointAngle = pointAngle + incrementAngleValue;
        }
        float        x      = Mathf.Cos(pointAngle) * 2f;
        float        y      = Mathf.Sin(pointAngle) * 2f;
        Vector3      screen = new Vector3(x, y, menuInstance.transform.position.z);
        MenuItemVals vals   = new MenuItemVals(pointAngle, screen);

        return(vals);
    }