void Start()
    {
        for (int i = 0; i < lookDownElements.Length; i++)
        {
            LookDownElement el = lookDownElements[i];
            Color           c  = el.text.color;
            c.a                         = el.currentAlpha * currentMenuAlpha;
            el.text.color               = c;
            el.initialScale             = el.iconTransform.localScale;
            el.iconTransform.localScale = el.initialScale + 0.2f * el.currentAlpha * el.initialScale;

            Color col = el.plane.material.color;
            col.a = currentMenuAlpha;
            el.plane.material.color = col;
        }

        menu = GetComponent <FixedMenu>();
    }
Beispiel #2
0
    void Start()
    {
        menu   = GetComponent <FixedMenu>();
        vrHead = GameObject.Find("Player").transform.Find("Head");

        for (int i = 0; i < lookDownElements.Length; i++)
        {
            LookDownElement el = lookDownElements[i];
            Color           c  = el.text.color;
            c.a                         = el.currentAlpha * currentMenuAlpha;
            el.text.color               = c;
            el.initialScale             = el.iconTransform.localScale;
            el.iconTransform.localScale = el.initialScale + 0.2f * el.currentAlpha * el.initialScale;

            Color col = el.plane.material.color;
            col.a = currentMenuAlpha;
            el.plane.material.color = col;
        }
    }
Beispiel #3
0
    void Update()
    {
        if (vrHead.rotation.eulerAngles.x > 22 && vrHead.rotation.eulerAngles.x < 90)
        {
            targetMenuAlpha = 1;
        }
        else
        {
            targetMenuAlpha = 0;
        }

        bool updateAll = false;

        if (currentMenuAlpha != targetMenuAlpha)
        {
            float menuSpringSpeed = 0.2f;
            if (targetMenuAlpha < currentMenuAlpha)
            {
                menuSpringSpeed = 0.1f;
            }

            currentMenuAlpha = Smoothing.SpringSmooth(currentMenuAlpha, targetMenuAlpha, ref alphaMenuSpeed, menuSpringSpeed, Time.deltaTime);
            if (Mathf.Abs(currentMenuAlpha - targetMenuAlpha) < 0.005f)
            {
                currentMenuAlpha = targetMenuAlpha;
            }
            updateAll = true;
        }

        if (currentMenuAlpha == 0)
        {
            menu.Reset();
        }

        for (int i = 0; i < lookDownElements.Length; i++)
        {
            LookDownElement el = lookDownElements[i];
            // TODO: add the check for if el's target (to be implemented) is the reticle's target
            if (el.target.IsTarget)
            {
                el.targetAlpha = 1;
            }
            else
            {
                el.targetAlpha = 0;
            }

            if (el.currentAlpha != el.targetAlpha || updateAll)
            {
                float springSpeed = 0.2f;
                if (el.targetAlpha < el.currentAlpha)
                {
                    springSpeed = 0.1f;
                }

                // gradual change in alpha for the fading effect
                el.currentAlpha = Smoothing.SpringSmooth(el.currentAlpha, el.targetAlpha, ref el.alphaSpeed, springSpeed, Time.deltaTime);
                // if current is basically the target alpha, just set it to the target
                if (Mathf.Abs(el.currentAlpha - el.targetAlpha) < 0.005f)
                {
                    el.currentAlpha = el.targetAlpha;
                }

                // text mesh's colour
                Color c = el.text.color;
                c.a           = el.currentAlpha * currentMenuAlpha;
                el.text.color = c;

                // scale icon and translate text up
                el.iconTransform.localScale    = el.initialScale + 0.2f * el.currentAlpha * el.initialScale;
                el.textTransform.localPosition = el.currentAlpha * el.endTextPosition + (1 - el.currentAlpha) * el.initialTextPosition;
            }
            // makes icon show when you look down
            Color col = el.plane.material.color;
            col.a = currentMenuAlpha;
            el.plane.material.color = col;
        }
    }
    void Update()
    {
        if (VRInput.Instance != null)
        {
            if (VRInput.Instance.Pitch < -15)
            {
                if (Toaster.Instance != null)
                {
                    Toaster.Instance.ClearToast();
                }
            }
            if (VRInput.Instance.Pitch < -22)
            {
                targetMenuAlpha = 1;
                if (Toaster.Instance != null)
                {
                    Toaster.Instance.ClearToast();
                }
            }
            else
            {
                targetMenuAlpha = 0;
            }
        }

        bool updateAll = false;

        if (currentMenuAlpha != targetMenuAlpha)
        {
            float menuSpringSpeed = 0.2f;
            if (targetMenuAlpha < currentMenuAlpha)
            {
                menuSpringSpeed = 0.1f;
            }

            currentMenuAlpha = Smoothing.SpringSmooth(currentMenuAlpha, targetMenuAlpha, ref alphaMenuSpeed, menuSpringSpeed, Time.deltaTime);
            if (Mathf.Abs(currentMenuAlpha - targetMenuAlpha) < 0.005f)
            {
                currentMenuAlpha = targetMenuAlpha;
            }
            updateAll = true;
        }
        if (currentMenuAlpha == 0)
        {
            menu.Reset();
        }

        for (int i = 0; i < lookDownElements.Length; i++)
        {
            LookDownElement el = lookDownElements[i];
            if (el.target.IsTarget)
            {
                el.targetAlpha = 1;
            }
            else
            {
                el.targetAlpha = 0;
            }



            if (el.currentAlpha != el.targetAlpha || updateAll)
            {
                float springSpeed = 0.2f;
                if (el.targetAlpha < el.currentAlpha)
                {
                    springSpeed = 0.1f;
                }


                el.currentAlpha = Smoothing.SpringSmooth(el.currentAlpha, el.targetAlpha, ref el.alphaSpeed, springSpeed, Time.deltaTime);
                if (Mathf.Abs(el.currentAlpha - el.targetAlpha) < 0.005f)
                {
                    el.currentAlpha = el.targetAlpha;
                }
                Color c = el.text.color;
                c.a           = el.currentAlpha * currentMenuAlpha;
                el.text.color = c;

                el.iconTransform.localScale    = el.initialScale + 0.2f * el.currentAlpha * el.initialScale;
                el.textTransform.localPosition = el.currentAlpha * el.endTextPosition + (1 - el.currentAlpha) * el.initialTextPosition;
            }
            Color col = el.plane.material.color;
            col.a = currentMenuAlpha;
            el.plane.material.color = col;
        }
    }