/**
* 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
{
///
/// Array extension methods.
///
public static class ArrayExtensionMethods
{
///
/// Combines bounds of multiple s.
///
/// Renderers.
/// Combined bounds.
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
};
}
}
}