添加武器长枪 + bug fix

- WeaponLance:Entity/Goods/Weapon 表,状态机
- Battle -> Shop/LevelUp:隐藏子弹
This commit is contained in:
2026-03-19 17:53:24 +08:00
parent f31babdb85
commit 8d21d53c4d
35 changed files with 945 additions and 79 deletions
@@ -37,7 +37,7 @@ namespace Entity.EntityData
return false;
}
return Params.TryGetValue(key.ToLower(), out value);
return Params.TryGetValue(key, out value);
}
protected TParams ParseParams<TParams>() where TParams : new()
@@ -0,0 +1,56 @@
using System;
using Definition.Enum;
namespace Entity.EntityData
{
[Serializable]
public sealed class WeaponLanceParamsData
{
/// <summary>
/// 枪尖命中半径。
/// </summary>
public float HitRadius { get; set; }
/// <summary>
/// 武器模型前刺的位移距离。
/// </summary>
public float ThrustDistance { get; set; }
/// <summary>
/// 实际判定的前刺长度。
/// </summary>
public float PierceLength { get; set; }
/// <summary>
/// 判定起点相对武器当前位置的前置偏移。
/// </summary>
public float ForwardOffset { get; set; }
/// <summary>
/// 追踪目标时的转向速度。
/// </summary>
public float RotateSpeed { get; set; }
/// <summary>
/// 向前突刺阶段耗时。
/// </summary>
public float AttackDuration { get; set; }
/// <summary>
/// 收枪返回阶段耗时。
/// </summary>
public float ReturnDuration { get; set; }
}
[Serializable]
public class WeaponLanceData : WeaponData
{
public WeaponLanceParamsData ParamsData { get; }
public WeaponLanceData(int entityId, int ownerId, CampType ownerCamp)
: base(entityId, WeaponType.WeaponLance, ownerId, ownerCamp)
{
ParamsData = ParseParams<WeaponLanceParamsData>();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4d1a821e8ee1a9a4b912b70b0a1616eb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: