// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-12-04 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G.UI { using UnityEngine; using UnityEngine.UI; /// /// /// partial class OpenDataWindow { #region Auto Generate #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnClose; [KUIFlag] RawImage _rawImage; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Field float _timer = 2f; #endregion #region Method /// /// /// public void InitView() { SetViewData(); _rawImage.enabled = false; _btnClose.onClick.AddListener(this.OnCloseBtnClick); } /// /// /// public void RefreshView() { var rt = _rawImage.rectTransform; var p = RectTransformUtility.WorldToScreenPoint(KUIRoot.RootCamera, rt.position); //var p = KUIRoot.RootCamera.WorldToScreenPoint(_rawImage.transform.position); //var p = _rawImage.transform.position; var canvasScaler = KUIRoot.Instance.GetComponent(); float scale = 1f; if (canvasScaler.matchWidthOrHeight < 0.5f) scale = Screen.width / canvasScaler.referenceResolution.x; //这里是按宽度来缩放 else scale = Screen.width / canvasScaler.referenceResolution.y; //这里是按宽度来缩放 int width = (int)(rt.rect.width * scale); int height = (int)(rt.rect.height * scale); var rect = new RectInt((int)p.x, Screen.height - (int)p.y, width, height); KPlatform.Instance.ShowOpenData(_rawImage.texture, rect); } /// /// /// public void UpdateView() { if (_timer > 0f) { _timer -= Time.unscaledDeltaTime; if (_timer <= 0) { _rawImage.enabled = true; } } } void OnCloseBtnClick() { KPlatform.Instance.HideOpenData(); CloseWindow(this); } #endregion } }