Phase 1: 复合属性修饰器管线与伤害结算系统

This commit is contained in:
2026-09-24 22:37:22 +08:00
parent ba25ec1926
commit 02f4c67464
35 changed files with 334 additions and 141 deletions
@@ -20,19 +20,19 @@ public sealed partial class GlobalConfig : Luban.BeanBase
PropMaxCount = _buf.ReadInt();
PlayerEntity = _buf.ReadString();
PlayerEntity_Ref = null;
AbsorbSpeed = _buf.ReadInt();
CollectDistance = _buf.ReadInt();
DefaultAbsorbRange = _buf.ReadInt();
WeaponRecycleRate = _buf.ReadInt();
AbsorbSpeed = _buf.ReadFloat();
CollectDistance = _buf.ReadFloat();
DefaultAbsorbRange = _buf.ReadFloat();
WeaponRecycleRate = _buf.ReadFloat();
ShopGoodsCount = _buf.ReadInt();
ShopPriceRandomPercent = _buf.ReadInt();
ShopPriceRandomPercent = _buf.ReadFloat();
ShopMinPrice = _buf.ReadInt();
LevelUpRefreshPriceBase = _buf.ReadInt();
LevelUpRewardCount = _buf.ReadInt();
SpawnEnemyMaxCount = _buf.ReadInt();
EnemySpawnDistanceMin = _buf.ReadInt();
EnemySpawnDistanceMax = _buf.ReadInt();
WeaponRotateSpeed = _buf.ReadInt();
EnemySpawnDistanceMin = _buf.ReadFloat();
EnemySpawnDistanceMax = _buf.ReadFloat();
WeaponRotateSpeed = _buf.ReadFloat();
WeaponBaseCrit = _buf.ReadFloat();
PlayerGroupName = _buf.ReadString();
EnemyGroupName = _buf.ReadString();
@@ -75,19 +75,19 @@ public sealed partial class GlobalConfig : Luban.BeanBase
/// <summary>
/// 自动收集速度
/// </summary>
public readonly int AbsorbSpeed;
public readonly float AbsorbSpeed;
/// <summary>
/// 自动收集距离
/// </summary>
public readonly int CollectDistance;
public readonly float CollectDistance;
/// <summary>
/// 默认吸收距离
/// </summary>
public readonly int DefaultAbsorbRange;
public readonly float DefaultAbsorbRange;
/// <summary>
/// 武器回收价比例
/// </summary>
public readonly int WeaponRecycleRate;
public readonly float WeaponRecycleRate;
/// <summary>
/// 商店商品数量
/// </summary>
@@ -95,7 +95,7 @@ public sealed partial class GlobalConfig : Luban.BeanBase
/// <summary>
/// 商品价格浮动
/// </summary>
public readonly int ShopPriceRandomPercent;
public readonly float ShopPriceRandomPercent;
/// <summary>
/// 商品最低价
/// </summary>
@@ -115,15 +115,15 @@ public sealed partial class GlobalConfig : Luban.BeanBase
/// <summary>
/// 敌人生成最小距离
/// </summary>
public readonly int EnemySpawnDistanceMin;
public readonly float EnemySpawnDistanceMin;
/// <summary>
/// 敌人生成最大距离
/// </summary>
public readonly int EnemySpawnDistanceMax;
public readonly float EnemySpawnDistanceMax;
/// <summary>
/// 武器旋转速度
/// </summary>
public readonly int WeaponRotateSpeed;
public readonly float WeaponRotateSpeed;
/// <summary>
/// 武器基本暴击率
/// </summary>
@@ -45,19 +45,19 @@ public partial class TbGlobalConfig
/// <summary>
/// 自动收集速度
/// </summary>
public int AbsorbSpeed => _data.AbsorbSpeed;
public float AbsorbSpeed => _data.AbsorbSpeed;
/// <summary>
/// 自动收集距离
/// </summary>
public int CollectDistance => _data.CollectDistance;
public float CollectDistance => _data.CollectDistance;
/// <summary>
/// 默认吸收距离
/// </summary>
public int DefaultAbsorbRange => _data.DefaultAbsorbRange;
public float DefaultAbsorbRange => _data.DefaultAbsorbRange;
/// <summary>
/// 武器回收价比例
/// </summary>
public int WeaponRecycleRate => _data.WeaponRecycleRate;
public float WeaponRecycleRate => _data.WeaponRecycleRate;
/// <summary>
/// 商店商品数量
/// </summary>
@@ -65,7 +65,7 @@ public partial class TbGlobalConfig
/// <summary>
/// 商品价格浮动
/// </summary>
public int ShopPriceRandomPercent => _data.ShopPriceRandomPercent;
public float ShopPriceRandomPercent => _data.ShopPriceRandomPercent;
/// <summary>
/// 商品最低价
/// </summary>
@@ -85,15 +85,15 @@ public partial class TbGlobalConfig
/// <summary>
/// 敌人生成最小距离
/// </summary>
public int EnemySpawnDistanceMin => _data.EnemySpawnDistanceMin;
public float EnemySpawnDistanceMin => _data.EnemySpawnDistanceMin;
/// <summary>
/// 敌人生成最大距离
/// </summary>
public int EnemySpawnDistanceMax => _data.EnemySpawnDistanceMax;
public float EnemySpawnDistanceMax => _data.EnemySpawnDistanceMax;
/// <summary>
/// 武器旋转速度
/// </summary>
public int WeaponRotateSpeed => _data.WeaponRotateSpeed;
public float WeaponRotateSpeed => _data.WeaponRotateSpeed;
/// <summary>
/// 武器基本暴击率
/// </summary>
@@ -21,11 +21,11 @@ public sealed partial class WeaponConfig : Luban.BeanBase
Rarity = (Rarity)_buf.ReadInt();
Price = _buf.ReadInt();
Attack = _buf.ReadInt();
Cooldown = _buf.ReadInt();
Cooldown = _buf.ReadFloat();
DamageType = (DamageType)_buf.ReadInt();
AttackRange = _buf.ReadInt();
AttackRange = _buf.ReadFloat();
AttackSoundId = _buf.ReadInt();
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);Parameters = new System.Collections.Generic.Dictionary<ParamType, int>(n0 * 3 / 2);for(var i0 = 0 ; i0 < n0 ; i0++) { ParamType _k0; _k0 = (ParamType)_buf.ReadInt(); int _v0; _v0 = _buf.ReadInt(); Parameters.Add(_k0, _v0);}}
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);Parameters = new System.Collections.Generic.Dictionary<ParamType, float>(n0 * 3 / 2);for(var i0 = 0 ; i0 < n0 ; i0++) { ParamType _k0; _k0 = (ParamType)_buf.ReadInt(); float _v0; _v0 = _buf.ReadFloat(); Parameters.Add(_k0, _v0);}}
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);StatModifierConfigs = new System.Collections.Generic.List<StatModifierConfig>(n0);for(var i0 = 0 ; i0 < n0 ; i0++) { StatModifierConfig _e0; _e0 = StatModifierConfig.DeserializeStatModifierConfig(_buf); StatModifierConfigs.Add(_e0);}}
Prefab = _buf.ReadString();
Prefab_Ref = null;
@@ -61,7 +61,7 @@ public sealed partial class WeaponConfig : Luban.BeanBase
/// <summary>
/// 冷却
/// </summary>
public readonly int Cooldown;
public readonly float Cooldown;
/// <summary>
/// 伤害类型
/// </summary>
@@ -69,7 +69,7 @@ public sealed partial class WeaponConfig : Luban.BeanBase
/// <summary>
/// 攻击范围
/// </summary>
public readonly int AttackRange;
public readonly float AttackRange;
/// <summary>
/// 攻击音效编号
/// </summary>
@@ -77,7 +77,7 @@ public sealed partial class WeaponConfig : Luban.BeanBase
/// <summary>
/// 参数类型
/// </summary>
public readonly System.Collections.Generic.Dictionary<ParamType, int> Parameters;
public readonly System.Collections.Generic.Dictionary<ParamType, float> Parameters;
public readonly System.Collections.Generic.List<StatModifierConfig> StatModifierConfigs;
/// <summary>
/// 预制体