| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | /** * 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{    /// <summary>    /// Array extension methods.    /// </summary>    public static class ArrayExtensionMethods    {        /// <summary>        /// Combines bounds of multiple <see cref="CubismRenderer"/>s.        /// </summary>        /// <param name="self">Renderers.</param>        /// <returns>Combined bounds.</returns>        public static Bounds GetMeshRendererBounds(this CubismRenderer[] self)        {            var min = self[0].MeshRenderer.bounds.min;            var max = self[0].MeshRenderer.bounds.max;            for (var i = 1; i < self.Length; ++i)            {                var boundsI = self[i].MeshRenderer.bounds;                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            };        }    }}
 |