完整启动流程
This commit is contained in:
@@ -27,6 +27,12 @@ namespace BaseGames.Combat
|
||||
public BreakLevel Break;
|
||||
public string SourceId;
|
||||
public string SkillId;
|
||||
/// <summary>
|
||||
/// 攻击来源投射物(仅当攻击方是 Projectile 时非 null)。
|
||||
/// 用于弹反成功时调用 ReflectAsPlayerProjectile() 翻转阵营。
|
||||
/// [NonSerialized]:MonoBehaviour 引用不参与 Unity 资产序列化。
|
||||
/// </summary>
|
||||
[System.NonSerialized] public Projectile SourceProjectile;
|
||||
|
||||
// ── Builder ──────────────────────────────────────────────────────────
|
||||
/// <summary>
|
||||
@@ -48,6 +54,7 @@ namespace BaseGames.Combat
|
||||
private BreakLevel _break;
|
||||
private Vector2 _sourcePosition;
|
||||
private int _sourceLayer;
|
||||
private Projectile _sourceProjectile;
|
||||
|
||||
public Builder() { }
|
||||
|
||||
@@ -65,6 +72,7 @@ namespace BaseGames.Combat
|
||||
public Builder SetBreak(BreakLevel v) { _break = v; return this; }
|
||||
public Builder SetSourcePos(Vector2 v) { _sourcePosition = v; return this; }
|
||||
public Builder SetLayer(int v) { _sourceLayer = v; return this; }
|
||||
public Builder SetProjectile(Projectile v) { _sourceProjectile = v; return this; }
|
||||
|
||||
public DamageInfo Build() => new DamageInfo
|
||||
{
|
||||
@@ -83,6 +91,7 @@ namespace BaseGames.Combat
|
||||
Break = _break,
|
||||
SourcePosition = _sourcePosition,
|
||||
SourceLayer = _sourceLayer,
|
||||
SourceProjectile = _sourceProjectile,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -95,7 +104,8 @@ namespace BaseGames.Combat
|
||||
DamageSourceSO so,
|
||||
Vector2 knockbackDir = default,
|
||||
Vector2 sourcePos = default,
|
||||
int sourceLayer = 0)
|
||||
int sourceLayer = 0,
|
||||
Projectile sourceProjectile = null)
|
||||
{
|
||||
int baseAmt = Mathf.RoundToInt(so.BaseDamage * so.DamageMultiplier);
|
||||
return new DamageInfo
|
||||
@@ -115,6 +125,7 @@ namespace BaseGames.Combat
|
||||
KnockbackForce = so.KnockbackForce,
|
||||
SourcePosition = sourcePos,
|
||||
SourceLayer = sourceLayer,
|
||||
SourceProjectile = sourceProjectile,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user