using System.Collections; using System.Collections.Generic; using AYellowpaper.SerializedCollections; using UnityEngine; using BITKit; namespace BITFALL { /// /// 资产化装配配置 /// public class ScriptableEquip : ScriptableItem { [Header(nameof(ScriptableEquip))] [SerializeField] protected int initialDamage; [Space] [SerializeField] protected int meleeDamage; [SerializeField] protected float meleeRange; [SerializeField] protected int meleeForce; [Space] [SerializeField] protected int heavyMeleeDamage; [SerializeField] protected float heavyMeleeRange; [SerializeField] protected int heavyMeleeForce; [Space] [SerializeField] protected SerializedDictionary tagDamage; [Space] [SerializeField] protected float initialMoveSpeed; [Space] [SerializeField] protected float initialAimMoveSpeed; public int MeleeDamage => meleeDamage; public float MeleeRange => meleeRange; public int MeleeForce => meleeForce; public int HeavyMeleeDamage => heavyMeleeDamage; public float HeavyMeleeRange => heavyMeleeRange; public int HeavyMeleeForce => heavyMeleeForce; public float InitialMovementSpeed => initialMoveSpeed; public float InitialAimMovementSpeed => initialAimMoveSpeed; public int GetDamageByTag(string tag) { if (string.IsNullOrEmpty(tag)) return initialDamage; return tagDamage.TryGetValue(tag, out var damage) ? damage : initialDamage; } } }