예제 #1
0
    public void GetPivotOffsetAndRelativeSize(out Vector2 pivotOffset, out Vector2 relativeSize)
    {
        relativeSize = new Vector2();
        float single;

        switch ((byte)(this.widgetFlags & (UIWidget.WidgetFlags.CustomPivotOffset | UIWidget.WidgetFlags.CustomRelativeSize)))
        {
        case 1:
        {
            UIWidget.tempWidgetFlags[0] = UIWidget.WidgetFlags.CustomPivotOffset;
            this.GetCustomVector2s(0, 1, UIWidget.tempWidgetFlags, UIWidget.tempVector2s);
            pivotOffset = UIWidget.tempVector2s[0];
            float single1 = 1f;
            single         = single1;
            relativeSize.y = single1;
            relativeSize.x = single;
            break;
        }

        case 2:
        {
            UIWidget.tempWidgetFlags[0] = UIWidget.WidgetFlags.CustomRelativeSize;
            this.GetCustomVector2s(0, 1, UIWidget.tempWidgetFlags, UIWidget.tempVector2s);
            relativeSize = UIWidget.tempVector2s[0];
            pivotOffset  = UIWidget.DefaultPivot(this.mPivot);
            break;
        }

        case 3:
        {
            UIWidget.tempWidgetFlags[0] = UIWidget.WidgetFlags.CustomPivotOffset;
            UIWidget.tempWidgetFlags[1] = UIWidget.WidgetFlags.CustomRelativeSize;
            this.GetCustomVector2s(0, 2, UIWidget.tempWidgetFlags, UIWidget.tempVector2s);
            pivotOffset  = UIWidget.tempVector2s[0];
            relativeSize = UIWidget.tempVector2s[1];
            break;
        }

        default:
        {
            pivotOffset = UIWidget.DefaultPivot(this.mPivot);
            float single2 = 1f;
            single         = single2;
            relativeSize.y = single2;
            relativeSize.x = single;
            break;
        }
        }
    }
예제 #2
0
    public bool UpdateGeometry(ref Matrix4x4 worldToPanel, bool parentMoved, bool generateNormals)
    {
        Vector3 vector3 = new Vector3();
        Vector2 vector2;
        Vector2 vector21 = new Vector2();
        float   single;

        if (!this.material)
        {
            return(false);
        }
        UIGeometry uIGeometry = this.mGeom;

        if (!this.OnUpdate() && !this.mChangedCall && !this.mForcedChanged)
        {
            if (uIGeometry.hasVertices && parentMoved)
            {
                Matrix4x4 matrix4x4 = worldToPanel * this.cachedTransform.localToWorldMatrix;
                uIGeometry.Apply(ref matrix4x4);
            }
            return(false);
        }
        this.mChangedCall   = false;
        this.mForcedChanged = false;
        uIGeometry.Clear();
        if (this.mAlphaUnchecked || !NGUITools.ZeroAlpha(this.mColor.a))
        {
            this.OnFill(uIGeometry.meshBuffer);
        }
        if (uIGeometry.hasVertices)
        {
            switch ((byte)(this.widgetFlags & (UIWidget.WidgetFlags.CustomPivotOffset | UIWidget.WidgetFlags.CustomRelativeSize)))
            {
            case 1:
            {
                UIWidget.tempWidgetFlags[0] = UIWidget.WidgetFlags.CustomPivotOffset;
                this.GetCustomVector2s(0, 1, UIWidget.tempWidgetFlags, UIWidget.tempVector2s);
                vector2 = UIWidget.tempVector2s[0];
                float single1 = 1f;
                single     = single1;
                vector21.y = single1;
                vector21.x = single;
                break;
            }

            case 2:
            {
                UIWidget.tempWidgetFlags[0] = UIWidget.WidgetFlags.CustomRelativeSize;
                this.GetCustomVector2s(0, 1, UIWidget.tempWidgetFlags, UIWidget.tempVector2s);
                vector21 = UIWidget.tempVector2s[0];
                vector2  = UIWidget.DefaultPivot(this.mPivot);
                break;
            }

            case 3:
            {
                UIWidget.tempWidgetFlags[0] = UIWidget.WidgetFlags.CustomPivotOffset;
                UIWidget.tempWidgetFlags[1] = UIWidget.WidgetFlags.CustomRelativeSize;
                this.GetCustomVector2s(0, 2, UIWidget.tempWidgetFlags, UIWidget.tempVector2s);
                vector2  = UIWidget.tempVector2s[0];
                vector21 = UIWidget.tempVector2s[1];
                break;
            }

            default:
            {
                vector2 = UIWidget.DefaultPivot(this.mPivot);
                float single2 = 1f;
                single     = single2;
                vector21.y = single2;
                vector21.x = single;
                break;
            }
            }
            vector3.x = vector2.x * vector21.x;
            vector3.y = vector2.y * vector21.y;
            vector3.z = 0f;
            Matrix4x4 matrix4x41 = worldToPanel * this.cachedTransform.localToWorldMatrix;
            uIGeometry.Apply(ref vector3, ref matrix4x41);
        }
        return(true);
    }