From 7a4f40a5a1c8b9209ec9263240143865491af77b Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 15 十月 2025 21:21:53 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts
---
Main/System/Battle/SkillEffect/BulletCurve/BulletCurve.cs | 7 +++
Main/System/FirstCharge/FirstChargeManager.cs | 2 -
Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs | 2
Main/System/Battle/SkillEffect/BulletCurve/StraightBulletCurve.cs | 2
Main/System/Battle/Motion/MotionBase.cs | 2
Main/System/FirstCharge/FirstChargeHeroInfoWin.cs | 3 -
Main/System/BoneField/BoneFieldWin.cs | 1
Main/System/Battle/Buff/BattleObjectBuffMgr.cs | 14 ++++++-
Main/System/FirstCharge/FirstChargeDayAward.cs | 1
Main/Component/UI/Common/PopupWindowsProcessor.cs | 26 +++++++++++--
Main/System/BoneField/BoneFieldManager.cs | 3 -
Main/System/FirstCharge/FirstChargeWin.cs | 10 ++--
Main/System/Battle/SkillEffect/BulletCurve/BezierBulletCurve.cs | 2
Main/System/Battle/SkillEffect/BulletCurve/PenetrateBulletCurve.cs | 2
Main/Component/UI/Effect/BattleEffectPlayer.cs | 28 ++++++++++++++
15 files changed, 80 insertions(+), 25 deletions(-)
diff --git a/Main/Component/UI/Common/PopupWindowsProcessor.cs b/Main/Component/UI/Common/PopupWindowsProcessor.cs
index 413d3be..8e65e67 100644
--- a/Main/Component/UI/Common/PopupWindowsProcessor.cs
+++ b/Main/Component/UI/Common/PopupWindowsProcessor.cs
@@ -1,4 +1,3 @@
-using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -11,13 +10,18 @@
{
// 寮圭獥闃熷垪锛屽瓨鍌ㄥ緟澶勭悊鐨勫脊绐楄姹�
List<PopupWindow> popupWindowQueue = new List<PopupWindow>();
-
+
// 褰撳墠姝e湪鏄剧ず鐨勫脊绐�
PopupWindow currentWindow;
+ float firstTime = 0; //鎵撳紑HomeWin鏃剁殑鏃堕棿
+ float stayTime;
+ bool homeWinFirstOpened = false; //HomeWin鏄惁绗竴娆℃墦寮�
+
+
// 涓婃寮圭獥鏃堕棿锛岀敤浜庢帶鍒跺脊绐椾箣闂寸殑闂撮殧
float lastTime = 0; //涓婃寮圭獥鏃堕棿
-
+
/// <summary>
/// 娣诲姞涓�涓脊绐楀埌澶勭悊闃熷垪
/// </summary>
@@ -58,6 +62,7 @@
}
}
+
/// <summary>
/// LateUpdate涓鐞嗗脊绐楅槦鍒楋紝纭繚鍦ㄦ墍鏈夊叾浠栭�昏緫澶勭悊瀹屾瘯鍚庢墠鏄剧ず寮圭獥
/// </summary>
@@ -95,6 +100,17 @@
if (!UIManager.Instance.IsOpened<HomeWin>())
return;
+ // 绗竴娆℃墦寮�HomeWin鏃惰褰曟椂闂�
+ if (!homeWinFirstOpened)
+ {
+ firstTime = Time.realtimeSinceStartup;
+ homeWinFirstOpened = true;
+ stayTime = float.Parse(FuncConfigConfig.Get("PopWin").Numerical1);
+ return;
+ }
+ // 绛夊緟x绉�
+ if (Time.realtimeSinceStartup - firstTime < stayTime)
+ return;
if (UIManager.Instance.IsOpened(popupWindowQueue[0].window))
{
@@ -104,6 +120,8 @@
if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(popupWindowQueue[0].window))
return;
+
+
if (currentWindow.window != null)
{
@@ -130,7 +148,7 @@
{
// 绐楀彛鍚嶇О
public string window;
-
+
// 鍔熻兘ID锛岀敤浜庢寚瀹氱獥鍙g殑鍏蜂綋鍔熻兘鎴栨樉绀烘ā寮�
public int functionId;
diff --git a/Main/Component/UI/Effect/BattleEffectPlayer.cs b/Main/Component/UI/Effect/BattleEffectPlayer.cs
index 09a6e93..d740f15 100644
--- a/Main/Component/UI/Effect/BattleEffectPlayer.cs
+++ b/Main/Component/UI/Effect/BattleEffectPlayer.cs
@@ -30,6 +30,8 @@
}
}
+ public bool isBindBone = false;
+
public bool isRedCamp = true;
public EffectConfig effectConfig;
@@ -625,4 +627,30 @@
animator.speed = speedRate;
}
}
+
+ public void BindBone(SkeletonAnimation skeletonAnim, string v)
+ {
+ Bone bone = skeletonAnim.skeleton.FindBone(v);
+
+ if (null == bone)
+ {
+ return;
+ }
+
+ isBindBone = true;
+
+ BoneFollower boneFollower = gameObject.AddMissingComponent<BoneFollower>();
+ boneFollower.boneName = v;
+ boneFollower.skeletonRenderer = skeletonAnim;
+
+ boneFollower.followBoneRotation = false;
+ boneFollower.followXYPosition = true;
+ boneFollower.followZPosition = false;
+ boneFollower.followLocalScale = false;
+ boneFollower.followParentWorldScale = false;
+ boneFollower.followSkeletonFlip = false;
+
+ boneFollower.Initialize();
+ boneFollower.LateUpdate();
+ }
}
diff --git a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
index e221da3..104fbcf 100644
--- a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
+++ b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using Spine.Unity;
using UnityEngine;
@@ -31,6 +32,10 @@
BattleEffectPlayer effectPlayer = kv.Value.Key;
if (null != effectPlayer)
{
+ if (effectPlayer.isBindBone)
+ {
+ continue;
+ }
effectPlayer.transform.position = battleObject.heroRectTrans.position;
var effectPos = effectPlayer.effectConfig.effectPos;
if (null != effectPos && effectPos.Length >= 2)
@@ -113,14 +118,14 @@
return;
}
- bool isNew = false;
+ // bool isNew = false;
if (buffDataDict.ContainsKey(vNetData.BuffID))
{
buffDataDict[vNetData.BuffID] = vNetData;
}
else
{
- isNew = true;
+ // isNew = true;
buffDataDict.Add(vNetData.BuffID, vNetData);
}
@@ -138,6 +143,11 @@
else
{
BattleEffectPlayer effect = battleObject.battleField.battleEffectMgr.PlayEffect(battleObject, skillConfig.BuffEffect, battleObject.heroRectTrans, battleObject.Camp);
+
+ BoneFollower boneFollower = effect.AddMissingComponent<BoneFollower>();
+
+ effect.BindBone(battleObject.motionBase.skeletonAnim, "hit");
+
HashSet<uint> buffIdSet = new HashSet<uint>();
buffIdSet.Add(vNetData.BuffID);
buffEffectDict.Add(skillConfig.BuffEffect, new KeyValuePair<BattleEffectPlayer, HashSet<uint>>(effect, buffIdSet));
diff --git a/Main/System/Battle/Motion/MotionBase.cs b/Main/System/Battle/Motion/MotionBase.cs
index 4502828..304d99e 100644
--- a/Main/System/Battle/Motion/MotionBase.cs
+++ b/Main/System/Battle/Motion/MotionBase.cs
@@ -18,7 +18,7 @@
public Action OnHitAnimationComplete;
private List<Action> runningActions = new List<Action>();
- protected SkeletonAnimation skeletonAnim;
+ public SkeletonAnimation skeletonAnim;
protected Spine.AnimationState animState;
protected Spine.Skeleton skeleton;
protected float defaultMixDuration = 0f;
diff --git a/Main/System/Battle/SkillEffect/BulletCurve/BezierBulletCurve.cs b/Main/System/Battle/SkillEffect/BulletCurve/BezierBulletCurve.cs
index d307197..db0849c 100644
--- a/Main/System/Battle/SkillEffect/BulletCurve/BezierBulletCurve.cs
+++ b/Main/System/Battle/SkillEffect/BulletCurve/BezierBulletCurve.cs
@@ -15,7 +15,7 @@
public override void Reset()
{
base.Reset();
- start = WorldToLocalAnchoredPosition(bulletTrans.position);
+ start = WorldToLocalAnchoredPosition(bulletTrans.position) + bulletOffset;
end = WorldToLocalAnchoredPosition(target.position);
duration = Vector2.Distance(start, end) / skillConfig.BulletFlySpeed;
control = (start + end) / 2 + Vector2.up * 100f;
diff --git a/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs b/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs
index 1f20599..9c1e0a3 100644
--- a/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs
+++ b/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs
@@ -28,7 +28,7 @@
bounceElapsed = 0f;
if (hurtList.Count > 0)
{
- start = WorldToLocalAnchoredPosition(bulletTrans.position);
+ start = WorldToLocalAnchoredPosition(bulletTrans.position) + bulletOffset;
end = WorldToLocalAnchoredPosition(target.position);
duration = Vector2.Distance(start, end) / skillConfig.BulletFlySpeed;
}
diff --git a/Main/System/Battle/SkillEffect/BulletCurve/BulletCurve.cs b/Main/System/Battle/SkillEffect/BulletCurve/BulletCurve.cs
index 974b025..be527cd 100644
--- a/Main/System/Battle/SkillEffect/BulletCurve/BulletCurve.cs
+++ b/Main/System/Battle/SkillEffect/BulletCurve/BulletCurve.cs
@@ -12,6 +12,8 @@
protected RectTransform target;
protected Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit;
+ protected Vector2 bulletOffset = Vector2.zero;
+
protected bool finished = false;
protected float duration = 0f;
protected float elapsed = 0f;
@@ -44,6 +46,11 @@
out localPoint);
bulletTrans.anchoredPosition = localPoint;
}
+
+ if (bulletEffect.effectConfig.effectPos != null && bulletEffect.effectConfig.effectPos.Length >= 2)
+ {
+ bulletOffset = new Vector2(bulletEffect.effectConfig.effectPos[0], bulletEffect.effectConfig.effectPos[1]);
+ }
}
public virtual void Reset()
diff --git a/Main/System/Battle/SkillEffect/BulletCurve/PenetrateBulletCurve.cs b/Main/System/Battle/SkillEffect/BulletCurve/PenetrateBulletCurve.cs
index 33db2ab..b70d473 100644
--- a/Main/System/Battle/SkillEffect/BulletCurve/PenetrateBulletCurve.cs
+++ b/Main/System/Battle/SkillEffect/BulletCurve/PenetrateBulletCurve.cs
@@ -19,7 +19,7 @@
{
base.Reset();
hitTriggered = false;
- start = WorldToLocalAnchoredPosition(bulletTrans.position);
+ start = WorldToLocalAnchoredPosition(bulletTrans.position) + bulletOffset;
end = WorldToLocalAnchoredPosition(target.position);
duration = Vector2.Distance(start, end) / skillConfig.BulletFlySpeed;
Vector2 dir = (end - start).normalized;
diff --git a/Main/System/Battle/SkillEffect/BulletCurve/StraightBulletCurve.cs b/Main/System/Battle/SkillEffect/BulletCurve/StraightBulletCurve.cs
index 1ab621f..09c334f 100644
--- a/Main/System/Battle/SkillEffect/BulletCurve/StraightBulletCurve.cs
+++ b/Main/System/Battle/SkillEffect/BulletCurve/StraightBulletCurve.cs
@@ -16,7 +16,7 @@
public override void Reset()
{
base.Reset();
- start = WorldToLocalAnchoredPosition(bulletTrans.position);
+ start = WorldToLocalAnchoredPosition(bulletTrans.position) + bulletOffset;
end = WorldToLocalAnchoredPosition(target.position);
duration = Vector2.Distance(start, end) / skillConfig.BulletFlySpeed;
// BattleUtility.MarkStartAndEnd(bulletTrans, target);
diff --git a/Main/System/BoneField/BoneFieldManager.cs b/Main/System/BoneField/BoneFieldManager.cs
index d7fc492..e4e4857 100644
--- a/Main/System/BoneField/BoneFieldManager.cs
+++ b/Main/System/BoneField/BoneFieldManager.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using DG.DemiEditor;
using LitJson;
public class BoneFieldManager : GameSystemManager<BoneFieldManager>
{
@@ -161,7 +160,7 @@
public void UpdateFBEnd(H0320_tagFBEnd vNetData)
{
- if (vNetData.Msg.IsNullOrEmpty())
+ if (vNetData.Msg == null)
return;
ChallengeResultData result = ChallengeResultData.FromJson(vNetData.Msg);
if (result == null || result.itemInfo.IsNullOrEmpty())
diff --git a/Main/System/BoneField/BoneFieldWin.cs b/Main/System/BoneField/BoneFieldWin.cs
index 8a05b7a..2b81791 100644
--- a/Main/System/BoneField/BoneFieldWin.cs
+++ b/Main/System/BoneField/BoneFieldWin.cs
@@ -1,4 +1,3 @@
-using System;
using System.Collections.Generic;
using UnityEngine;
public class BoneFieldWin : UIBase
diff --git a/Main/System/FirstCharge/FirstChargeDayAward.cs b/Main/System/FirstCharge/FirstChargeDayAward.cs
index d14dbeb..f2ac4d7 100644
--- a/Main/System/FirstCharge/FirstChargeDayAward.cs
+++ b/Main/System/FirstCharge/FirstChargeDayAward.cs
@@ -1,4 +1,3 @@
-using System.Collections;
using System.Collections.Generic;
using UnityEngine;
diff --git a/Main/System/FirstCharge/FirstChargeHeroInfoWin.cs b/Main/System/FirstCharge/FirstChargeHeroInfoWin.cs
index 67e5c3f..16054aa 100644
--- a/Main/System/FirstCharge/FirstChargeHeroInfoWin.cs
+++ b/Main/System/FirstCharge/FirstChargeHeroInfoWin.cs
@@ -1,6 +1,3 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
using UnityEngine;
public class FirstChargeHeroInfoWin : UIBase
diff --git a/Main/System/FirstCharge/FirstChargeManager.cs b/Main/System/FirstCharge/FirstChargeManager.cs
index beba184..629108f 100644
--- a/Main/System/FirstCharge/FirstChargeManager.cs
+++ b/Main/System/FirstCharge/FirstChargeManager.cs
@@ -1,7 +1,5 @@
using System;
-using System.Collections;
using System.Collections.Generic;
-using System.Linq;
using UnityEngine;
public class FirstChargeManager : GameSystemManager<FirstChargeManager>
diff --git a/Main/System/FirstCharge/FirstChargeWin.cs b/Main/System/FirstCharge/FirstChargeWin.cs
index 30f1e62..2f45ca0 100644
--- a/Main/System/FirstCharge/FirstChargeWin.cs
+++ b/Main/System/FirstCharge/FirstChargeWin.cs
@@ -1,15 +1,15 @@
-using System;
-using System.Collections;
using System.Collections.Generic;
-using System.Data;
using UnityEngine;
public class FirstChargeWin : FunctionsBaseWin
{
+
[Header("鏍囩椤�")]
[SerializeField] TextEx[] txtTabTitles;
[SerializeField] ButtonEx[] btnTabs;
[SerializeField] RedpointBehaviour[] rpTabs;
+ [SerializeField] int fontSizeBefore = 24;
+ [SerializeField] int fontSizeAfter = 30;
[Header("涓荤墿鍝�")]
[SerializeField] TextEx txtName;
[SerializeField] TextEx txtDesc;
@@ -43,8 +43,6 @@
btnBuy.SetListener(OnClickBuyButton);
btnPreviewHero.SetListener(OnClickPreviewHero);
}
-
-
protected override void OnPreOpen()
{
@@ -250,6 +248,8 @@
{
for (int i = 0; i < btnTabs.Length; i++)
{
+ txtTabTitles[i].fontSize = i == functionOrder ? fontSizeAfter : fontSizeBefore;
+
int firstID = model.GetFirstIDByTabIndex(i);
FirstChargeData firstChargeData;
if (!model.TryGetFirstChargeDataByFirstId(firstID, out firstChargeData))
--
Gitblit v1.8.0