/**
 * Copyright(c) Live2D Inc. All rights reserved.
 *
 * Use of this source code is governed by the Live2D Open Software license
 * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
 */
using UnityEngine;
namespace Live2D.Cubism.Rendering.Masking
{
    /// 
    /// Extensions for .
    /// 
    internal static class CubismMaskRendererExtensionMethods
    {
        /// 
        /// Combines bounds of multiple s.
        /// 
        /// Renderers.
        /// Combined bounds.
        public static Bounds GetBounds(this CubismMaskRenderer[] self)
        {
            var min = self[0].MeshBounds.min;
            var max = self[0].MeshBounds.max;
            for (var i = 1; i < self.Length; ++i)
            {
                var boundsI = self[i].MeshBounds;
                if (boundsI.min.x < min.x)
                {
                    min.x = boundsI.min.x;
                }
                if (boundsI.max.x > max.x)
                {
                    max.x = boundsI.max.x;
                }
                if (boundsI.min.y < min.y)
                {
                    min.y = boundsI.min.y;
                }
                if (boundsI.max.y > max.y)
                {
                    max.y = boundsI.max.y;
                }
            }
            return new Bounds
            {
                min = min,
                max = max
            };
        }
    }
}