Pathfinding.RecastBBTree.ExpansionRequired C# (CSharp) Method

ExpansionRequired() static private method

static private ExpansionRequired ( Rect r, Rect r2 ) : float
r UnityEngine.Rect
r2 UnityEngine.Rect
return float
		static float ExpansionRequired (Rect r, Rect r2) {
			float xMin = Mathf.Min(r.xMin, r2.xMin);
			float xMax = Mathf.Max(r.xMax, r2.xMax);
			float yMin = Mathf.Min(r.yMin, r2.yMin);
			float yMax = Mathf.Max(r.yMax, r2.yMax);

			return (xMax-xMin)*(yMax-yMin)-RectArea(r);
		}

Usage Example

Ejemplo n.º 1
0
        // Token: 0x06002680 RID: 9856 RVA: 0x001AB0BC File Offset: 0x001A92BC
        public void Insert(RecastMeshObj mesh)
        {
            RecastBBTreeBox recastBBTreeBox = new RecastBBTreeBox(mesh);

            if (this.root == null)
            {
                this.root = recastBBTreeBox;
                return;
            }
            RecastBBTreeBox recastBBTreeBox2 = this.root;

            for (;;)
            {
                recastBBTreeBox2.rect = RecastBBTree.ExpandToContain(recastBBTreeBox2.rect, recastBBTreeBox.rect);
                if (recastBBTreeBox2.mesh != null)
                {
                    break;
                }
                float num  = RecastBBTree.ExpansionRequired(recastBBTreeBox2.c1.rect, recastBBTreeBox.rect);
                float num2 = RecastBBTree.ExpansionRequired(recastBBTreeBox2.c2.rect, recastBBTreeBox.rect);
                if (num < num2)
                {
                    recastBBTreeBox2 = recastBBTreeBox2.c1;
                }
                else if (num2 < num)
                {
                    recastBBTreeBox2 = recastBBTreeBox2.c2;
                }
                else
                {
                    recastBBTreeBox2 = ((RecastBBTree.RectArea(recastBBTreeBox2.c1.rect) < RecastBBTree.RectArea(recastBBTreeBox2.c2.rect)) ? recastBBTreeBox2.c1 : recastBBTreeBox2.c2);
                }
            }
            recastBBTreeBox2.c1 = recastBBTreeBox;
            RecastBBTreeBox c = new RecastBBTreeBox(recastBBTreeBox2.mesh);

            recastBBTreeBox2.c2   = c;
            recastBBTreeBox2.mesh = null;
        }