public override void LayoutContent(GameObject[] components, PanelControl container) { if (components.Length != 4) { Debug.LogWarning("number of compenents is not equal to 4..."); } MeshRenderer renderer = container.GetComponent <MeshRenderer>(); Vector3 center = renderer.bounds.center; Vector3 extents = renderer.bounds.extents; Vector3[] positions = new Vector3[] { center - extents, center + extents - new Vector3(0.0f, extents.y, 0.0f), center + extents - new Vector3(extents.x, 0.0f, 0.0f), center + extents }; for (int i = 0; i < positions.Length; i++) { components[i].transform.position = positions[i]; } }
public override void LayoutContent(GameObject component, int index, PanelControl container) { MeshRenderer renderer = container.GetComponent <MeshRenderer>(); Vector3 center = renderer.bounds.center; Vector3 extents = renderer.bounds.extents; Vector3[] positions = new Vector3[] { center - extents * .5f + new Vector3(0.0f, 0.0f, 2.0f * extents.z * .5f), // lower right center + extents * .5f - new Vector3(0.0f, 2.0f * extents.y * .5f, 0.0f), // upper right center + extents * .5f - new Vector3(2.0f * extents.x * .5f, 0.0f, 0.0f), // lower left center + extents * .5f // upper left }; component.transform.position = positions[index]; }