From 5b8a8c82864d4ea7e2f93484bd26f293dd31979d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 01 九月 2025 23:26:58 +0800
Subject: [PATCH] 50 【主界面】核心主体 - 主线BOS界面
---
Main/System/ItemTip/SmallTipWin.cs | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/Main/System/ItemTip/SmallTipWin.cs b/Main/System/ItemTip/SmallTipWin.cs
index cc4bba1..e2bdbcc 100644
--- a/Main/System/ItemTip/SmallTipWin.cs
+++ b/Main/System/ItemTip/SmallTipWin.cs
@@ -3,22 +3,31 @@
using UnityEngine.UI;
/// <summary>
-/// 鏂囨湰鎻愮ず鐣岄潰
+/// 鏂囨湰鎻愮ず鐣岄潰锛氬閮ㄤ紶鍏ユ枃鏈唴瀹瑰拰涓栫晫鍧愭爣绯讳綅缃�
/// </summary>
public class SmallTipWin : UIBase
{
[SerializeField] RectTransform rectTransform;
[SerializeField] RectTransform arrowImage;
+ [SerializeField] RectTransform arrowUpImage;
[SerializeField] Text descText;
public static Vector3 worldPos; //涓栫晫鍧愭爣绯讳綅缃�
public static string showText;
+ public static bool isDownShow = false; // 鏄惁鍚戜笅鏄剧ず
protected override void OnPreOpen()
- {
+ {
descText.text = showText;
rectTransform.position = new Vector3(100, 100, 100); //鍒濆鍖栨椂锛屽睆骞曡寖鍥村
+ arrowImage.SetActive(!isDownShow);
+ arrowUpImage.SetActive(isDownShow);
+ }
+
+ protected override void OnPreClose()
+ {
+ isDownShow = false;
}
@@ -45,14 +54,23 @@
float screenHeight = maxY - minY;
- Vector2 adjustedPos = new Vector2(worldPos.x, worldPos.y + screenHeight * 0.5f);
+ Vector2 adjustedPos = new Vector2(worldPos.x, worldPos.y + (!isDownShow ? screenHeight * 0.5f : -screenHeight * 0.5f));
Vector2 screenAdjustedPos = CameraManager.uiCamera.WorldToScreenPoint(adjustedPos);
screenAdjustedPos.x = Mathf.Clamp(screenAdjustedPos.x, rectTransform.rect.width * 0.5f, Screen.width - rectTransform.rect.width * 0.5f);
screenAdjustedPos.y = Mathf.Clamp(screenAdjustedPos.y, rectTransform.rect.height * 0.5f, Screen.height - rectTransform.rect.height * 0.5f - 15);
+
adjustedPos = CameraManager.uiCamera.ScreenToWorldPoint(screenAdjustedPos);
rectTransform.position = adjustedPos;
- rectTransform.localPosition = new Vector3(rectTransform.localPosition.x, rectTransform.localPosition.y + 15, rectTransform.localPosition.z);
+
+ if (!isDownShow)
+ {
+ rectTransform.localPosition = new Vector3(rectTransform.localPosition.x, rectTransform.localPosition.y + 15, rectTransform.localPosition.z);
+ }
+ else
+ {
+ rectTransform.localPosition = new Vector3(rectTransform.localPosition.x, rectTransform.localPosition.y - 15, rectTransform.localPosition.z);
+ }
rectTransform.GetWorldCorners(corners);
float minX = corners[0].x;
@@ -63,10 +81,20 @@
if (corners[i].x < minX) minX = corners[i].x;
if (corners[i].x > maxX) maxX = corners[i].x;
}
+
//鏄剧ずarrowImage 鐨剎杞翠笂鐨勪綅缃紝鍜寃orldPos鍚屾锛屼絾涓嶈秴杩噈inX 鍜� maxX鑼冨洿
- Vector3 arrowImagePosition = arrowImage.position;
- arrowImagePosition.x = Mathf.Clamp(worldPos.x, minX, maxX);
- arrowImage.position = arrowImagePosition;
+ if (!isDownShow)
+ {
+ Vector3 arrowImagePosition = arrowImage.position;
+ arrowImagePosition.x = Mathf.Clamp(worldPos.x, minX, maxX);
+ arrowImage.position = arrowImagePosition;
+ }
+ else
+ {
+ Vector3 arrowUpImagePosition = arrowUpImage.position;
+ arrowUpImagePosition.x = Mathf.Clamp(worldPos.x, minX, maxX);
+ arrowUpImage.position = arrowUpImagePosition;
+ }
}
}
\ No newline at end of file
--
Gitblit v1.8.0