99 lines
2.1 KiB
C#
99 lines
2.1 KiB
C#
![]() |
// ***********************************************************************
|
|||
|
// Assembly : Game
|
|||
|
// Author : Kimch
|
|||
|
// Created : 2021-01-30
|
|||
|
// Description :
|
|||
|
// Last Modified By :
|
|||
|
// Last Modified On :
|
|||
|
// ***********************************************************************
|
|||
|
// <copyright file= "UIHelper" company="Kunpo"></copyright>
|
|||
|
// <summary></summary>
|
|||
|
// ***********************************************************************
|
|||
|
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
namespace G
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// UI
|
|||
|
/// </summary>
|
|||
|
public class UIHelper : MonoBehaviour
|
|||
|
{
|
|||
|
#region Field
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Method
|
|||
|
|
|||
|
public void SetSafeRatio(float ratio)
|
|||
|
{
|
|||
|
var sy = KPlatform.Instance.safeAreaTop * ratio;
|
|||
|
if (sy > 16f)
|
|||
|
for (int i = 0; i < transform.childCount; i++)
|
|||
|
{
|
|||
|
var child = transform.GetChild(i) as RectTransform;
|
|||
|
if (child && child.name != "Guide")
|
|||
|
{
|
|||
|
child.offsetMax = new Vector2(0, 16f - sy);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void SetSafeRatio(int y, float ratio)
|
|||
|
{
|
|||
|
var sy = y * ratio;
|
|||
|
if (sy > 16f)
|
|||
|
for (int i = 0; i < transform.childCount; i++)
|
|||
|
{
|
|||
|
var child = transform.GetChild(i) as RectTransform;
|
|||
|
if (child && child.name != "Guide")
|
|||
|
{
|
|||
|
child.offsetMax = new Vector2(0, 16f - sy);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Unity
|
|||
|
|
|||
|
public static UIHelper Instance;
|
|||
|
// Use this for initialization
|
|||
|
private void Start()
|
|||
|
{
|
|||
|
Instance = this;
|
|||
|
|
|||
|
Debug.Log("safeAreaTop " + KPlatform.Instance.safeAreaTop);
|
|||
|
if (PlayerPrefs.GetInt("screen_f", 1) != 0)
|
|||
|
{
|
|||
|
SetSafeRatio(KPlatform.Instance.safeAreaTop, 1f);
|
|||
|
}
|
|||
|
|
|||
|
var canvasScaler = GetComponent<CanvasScaler>();
|
|||
|
if (canvasScaler)
|
|||
|
{
|
|||
|
var cRatio = Screen.height / (float)Screen.width;
|
|||
|
var tRatio = 1920f / 1080f;
|
|||
|
if (tRatio > cRatio)
|
|||
|
{
|
|||
|
canvasScaler.matchWidthOrHeight = 1f;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
canvasScaler.matchWidthOrHeight = 0f;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#if !UNITY_EDITOR && SDK_WECHAT_WASM
|
|||
|
UnityEngine.EventSystems.EventSystem.current.gameObject.AddComponent<WechatTouchInputOverride>();
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|