From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/Battle/BattleUtility.cs | 84 ++++++++++++++++++++++++-----------------
1 files changed, 49 insertions(+), 35 deletions(-)
diff --git a/Main/System/Battle/BattleUtility.cs b/Main/System/Battle/BattleUtility.cs
index 3d39c4e..2f9276c 100644
--- a/Main/System/Battle/BattleUtility.cs
+++ b/Main/System/Battle/BattleUtility.cs
@@ -63,9 +63,12 @@
public static TweenerCore<Vector2, Vector2, DG.Tweening.Plugins.Options.VectorOptions> MoveToTarget(
RectTransform transform, RectTransform target, Vector2 offset, Action onComplete = null, float speed = 500f)
{
+ // 鑾峰彇鐩爣鑺傜偣鐨勪笘鐣屽潗鏍囷紙閿氱偣浣嶇疆锛�
+ Vector3 worldPos = target.position;
- // 鑾峰彇鐩爣鑺傜偣鐨勪笘鐣屽潗鏍囷紙涓績鐐癸級
- Vector3 worldPos = target.TransformPoint(target.rect.center + offset);
+ // 濡傛灉闇�瑕佸姞 offset锛岄渶鑰冭檻 scale
+ Vector3 offsetWorld = target.TransformVector(offset);
+ worldPos += offsetWorld;
RectTransform canvasRect = transform.parent as RectTransform;
@@ -77,45 +80,14 @@
null,
out localPoint);
- // 鍒涘缓RawImage
float distance = Vector2.Distance(transform.anchoredPosition, localPoint);
-
- float duration = distance / speed; // 鍋囪閫熷害涓�1000鍗曚綅/绉掞紝鍙互鏍规嵁闇�瑕佽皟鏁�
+ float duration = distance / speed;
var tween = transform.DOAnchorPos(localPoint, duration).SetEase(Ease.Linear);
tween.onComplete += () =>
{
onComplete?.Invoke();
};
-
- // MarkStartAndEnd(transform as RectTransform, target);
-
-
- // // 1. 鑾峰彇鐩爣鐨勪笘鐣屽潗鏍囷紙鍔� offset锛�
- // Vector3 targetWorldPos = target.TransformPoint(target.anchoredPosition + offset);
-
- // // 2. 鑾峰彇婧愯妭鐐圭殑 parent
- // RectTransform sourceParent = transform.parent as RectTransform;
- // if (sourceParent == null)
- // {
- // BattleDebug.LogError("婧愯妭鐐规病鏈夌埗鑺傜偣锛屾棤娉曡浆鎹㈠潗鏍囷紒");
- // return null;
- // }
-
- // // 3. 鎶婄洰鏍囦笘鐣屽潗鏍囪浆鎹㈠埌婧� parent 鐨勬湰鍦板潗鏍�
- // Vector2 targetAnchoredPos;
- // RectTransformUtility.ScreenPointToLocalPointInRectangle(
- // sourceParent,
- // RectTransformUtility.WorldToScreenPoint(CameraManager.uiCamera, targetWorldPos),
- // CameraManager.uiCamera,
- // out targetAnchoredPos);
-
- // // 4. DOTween 绉诲姩
- // var tween = transform.DOAnchorPos(targetAnchoredPos, duration).SetEase(Ease.Linear);
- // tween.onComplete += () =>
- // {
- // onComplete?.Invoke();
- // };
return tween;
}
@@ -130,12 +102,54 @@
var numChar = (char)GetDamageNumKey(config, basePowerStr[i]);
if (numChar > 0)
{
- result += numChar;
+ result += numChar;
}
}
return result;
}
+ public static string DisplayDamageNum(BattleDmg damage)
+ {
+ var config = DamageNumConfig.Get(damage.attackType);
+
+ string result = string.Empty;
+
+ // 濡傛灉鏄棯閬� 鍒欏彧鏄剧ず闂伩涓や釜瀛�
+ if (damage.IsType(DamageType.Dodge))
+ {
+ result += (char)config.prefix;
+ }
+ else
+ {
+ result = ConvertToArtFont(config, damage.damage);
+ }
+
+ return result;
+ }
+
+ public static string ConvertToArtFont(DamageNumConfig config, float _num)
+ {
+ var stringBuild = new System.Text.StringBuilder();
+
+ if (0 != config.plus)
+ stringBuild.Append((char)config.plus);
+ if (0 != config.prefix)
+ stringBuild.Append((char)config.prefix);
+
+ var chars = UIHelper.ReplaceLargeArtNum(_num);
+ for (var i = 0; i < chars.Length; i++)
+ {
+ int numChar = GetDamageNumKey(config, (int)chars[i]);
+
+ if (numChar > 0)
+ {
+ stringBuild.Append((char)numChar);
+ }
+ }
+
+ return stringBuild.ToString();
+ }
+
public static int GetMainTargetPositionNum(BattleObject caster, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> targetList, SkillConfig skillConfig)
{
int returnIndex = 0;
--
Gitblit v1.8.0