using System.Collections.Generic;
using GameFramework.Event;
using UnityEngine;
using UnityEngine.UI;
using UnityGameFramework.Runtime;
namespace GeometryTD.CustomComponent
{
///
/// Keeps gameplay camera and UI in a fixed design aspect, then fills extra area with black masks.
///
public class ResolutionAdapterComponent : GameFrameworkComponent
{
private const float DefaultCanvasPlaneDistance = 100f;
[SerializeField] private Vector2 _referenceResolution = new Vector2(2560f, 1600f);
[SerializeField] private bool _adaptUiCanvasToViewport = true;
[SerializeField] private bool _enableBlackMask = true;
[SerializeField] private List _uiRoots = new List();
private readonly List