// Token: 0x06000246 RID: 582 RVA: 0x00018BAC File Offset: 0x00016DAC
    public GameObject Get(Vector3 myDir, float x = 1f, float y = 1f)
    {
        Transform transform = base.transform;

        myDir = transform.TransformDirection(myDir);
        Vector3    center = UIKeyNavigation.GetCenter(base.gameObject);
        float      num    = float.MaxValue;
        GameObject result = null;

        for (int i = 0; i < UIKeyNavigation.list.size; i++)
        {
            UIKeyNavigation uikeyNavigation = UIKeyNavigation.list.buffer[i];
            if (!(uikeyNavigation == this) && uikeyNavigation.constraint != UIKeyNavigation.Constraint.Explicit && uikeyNavigation.isColliderEnabled)
            {
                UIWidget component = uikeyNavigation.GetComponent <UIWidget>();
                if (!(component != null) || component.alpha != 0f)
                {
                    Vector3 direction = UIKeyNavigation.GetCenter(uikeyNavigation.gameObject) - center;
                    if (Vector3.Dot(myDir, direction.normalized) >= 0.707f)
                    {
                        direction    = transform.InverseTransformDirection(direction);
                        direction.x *= x;
                        direction.y *= y;
                        float sqrMagnitude = direction.sqrMagnitude;
                        if (sqrMagnitude <= num)
                        {
                            result = uikeyNavigation.gameObject;
                            num    = sqrMagnitude;
                        }
                    }
                }
            }
        }
        return(result);
    }
    protected GameObject Get(Vector3 myDir, bool horizontal)
    {
        Transform transform = base.get_transform();

        myDir = transform.TransformDirection(myDir);
        Vector3    center = UIKeyNavigation.GetCenter(base.get_gameObject());
        float      num    = 3.40282347E+38f;
        GameObject result = null;

        for (int i = 0; i < UIKeyNavigation.list.size; i++)
        {
            UIKeyNavigation uIKeyNavigation = UIKeyNavigation.list[i];
            if (!(uIKeyNavigation == this))
            {
                UIButton component = uIKeyNavigation.GetComponent <UIButton>();
                if (!(component != null) || component.isEnabled)
                {
                    Vector3 vector = UIKeyNavigation.GetCenter(uIKeyNavigation.get_gameObject()) - center;
                    float   num2   = Vector3.Dot(myDir, vector.get_normalized());
                    if (num2 >= 0.707f)
                    {
                        vector = transform.InverseTransformDirection(vector);
                        if (horizontal)
                        {
                            vector.y *= 2f;
                        }
                        else
                        {
                            vector.x *= 2f;
                        }
                        float sqrMagnitude = vector.get_sqrMagnitude();
                        if (sqrMagnitude <= num)
                        {
                            result = uIKeyNavigation.get_gameObject();
                            num    = sqrMagnitude;
                        }
                    }
                }
            }
        }
        return(result);
    }
Exemplo n.º 3
0
    // Token: 0x060030D0 RID: 12496 RVA: 0x000EBFC0 File Offset: 0x000EA3C0
    protected GameObject Get(Vector3 myDir, bool horizontal)
    {
        Transform transform = base.transform;

        myDir = transform.TransformDirection(myDir);
        Vector3    center = UIKeyNavigation.GetCenter(base.gameObject);
        float      num    = float.MaxValue;
        GameObject result = null;

        for (int i = 0; i < UIKeyNavigation.list.size; i++)
        {
            UIKeyNavigation uikeyNavigation = UIKeyNavigation.list[i];
            if (!(uikeyNavigation == this))
            {
                UIButton component = uikeyNavigation.GetComponent <UIButton>();
                if (!(component != null) || component.isEnabled)
                {
                    Vector3 direction = UIKeyNavigation.GetCenter(uikeyNavigation.gameObject) - center;
                    float   num2      = Vector3.Dot(myDir, direction.normalized);
                    if (num2 >= 0.707f)
                    {
                        direction = transform.InverseTransformDirection(direction);
                        if (horizontal)
                        {
                            direction.y *= 2f;
                        }
                        else
                        {
                            direction.x *= 2f;
                        }
                        float sqrMagnitude = direction.sqrMagnitude;
                        if (sqrMagnitude <= num)
                        {
                            result = uikeyNavigation.gameObject;
                            num    = sqrMagnitude;
                        }
                    }
                }
            }
        }
        return(result);
    }
Exemplo n.º 4
0
    protected GameObject Get(Vector3 myDir, bool horizontal)
    {
        Transform transform = base.transform;

        myDir = transform.TransformDirection(myDir);
        Vector3    center = UIKeyNavigation.GetCenter(base.gameObject);
        float      num    = 3.40282347E+38f;
        GameObject result = null;

        for (int i = 0; i < UIKeyNavigation.list.size; i++)
        {
            UIKeyNavigation uIKeyNavigation = UIKeyNavigation.list[i];
            if (!(uIKeyNavigation == this))
            {
                Vector3 direction = UIKeyNavigation.GetCenter(uIKeyNavigation.gameObject) - center;
                float   num2      = Vector3.Dot(myDir, direction.normalized);
                if (num2 >= 0.707f)
                {
                    direction = transform.InverseTransformDirection(direction);
                    if (horizontal)
                    {
                        direction.y *= 2f;
                    }
                    else
                    {
                        direction.x *= 2f;
                    }
                    float sqrMagnitude = direction.sqrMagnitude;
                    if (sqrMagnitude <= num)
                    {
                        result = uIKeyNavigation.gameObject;
                        num    = sqrMagnitude;
                    }
                }
            }
        }
        return(result);
    }
Exemplo n.º 5
0
    public GameObject Get(Vector3 myDir, Single x = 1f, Single y = 1f)
    {
        Transform transform = base.transform;

        myDir = transform.TransformDirection(myDir);
        Vector3    center = UIKeyNavigation.GetCenter(base.gameObject);
        Single     num    = Single.MaxValue;
        GameObject result = (GameObject)null;

        for (Int32 i = 0; i < UIKeyNavigation.list.size; i++)
        {
            UIKeyNavigation uikeyNavigation = UIKeyNavigation.list[i];
            if (!(uikeyNavigation == this) && uikeyNavigation.constraint != UIKeyNavigation.Constraint.Explicit && uikeyNavigation.isColliderEnabled)
            {
                UIWidget component = uikeyNavigation.GetComponent <UIWidget>();
                if (!(component != (UnityEngine.Object)null) || component.alpha != 0f)
                {
                    Vector3 direction = UIKeyNavigation.GetCenter(uikeyNavigation.gameObject) - center;
                    Single  num2      = Vector3.Dot(myDir, direction.normalized);
                    if (num2 >= 0.707f)
                    {
                        direction    = transform.InverseTransformDirection(direction);
                        direction.x *= x;
                        direction.y *= y;
                        Single sqrMagnitude = direction.sqrMagnitude;
                        if (sqrMagnitude <= num)
                        {
                            result = uikeyNavigation.gameObject;
                            num    = sqrMagnitude;
                        }
                    }
                }
            }
        }
        return(result);
    }
Exemplo n.º 6
0
 public unsafe static long $Invoke3(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(UIKeyNavigation.GetCenter((GameObject)GCHandledObjects.GCHandleToObject(*args))));
 }