namespace UIWidgets.Examples
{
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
///
/// Resize some elements for the mobile screens.
///
public class TestMobile : MonoBehaviour
{
///
/// Resizables.
///
[SerializeField]
protected List Resizables = new List();
///
/// Horizontal splitters.
///
[SerializeField]
protected List HorizontalSplitters = new List();
///
/// Vertical splitters.
///
[SerializeField]
protected List VerticalSplitters = new List();
///
/// Layouts.
///
[SerializeField]
protected List Layouts = new List();
///
/// DefaultDPI.
///
[SerializeField]
protected float DefaultDPI = 96f;
#if UNITY_ANDROID || UNITY_IOS
///
/// Start this instance.
///
protected void Start()
{
var ratio = Screen.dpi / DefaultDPI;
foreach (var resizable in Resizables)
{
resizable.ActiveRegion *= ratio;
}
foreach (var splitter in HorizontalSplitters)
{
var width = Mathf.Max(splitter.minWidth, splitter.preferredWidth) * ratio;
splitter.minWidth = width;
splitter.preferredWidth = width;
}
foreach (var splitter in VerticalSplitters)
{
var height = Mathf.Max(splitter.minHeight, splitter.preferredHeight) * ratio;
splitter.minHeight = height;
splitter.preferredHeight = height;
}
foreach (var layout in Layouts)
{
var spacing = layout.Spacing;
layout.Spacing = new Vector2(spacing.x, spacing.y * ratio * 2f);
}
}
#endif
}
}