45 lines
1.6 KiB
C#
45 lines
1.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using AYellowpaper.SerializedCollections;
|
|
using UnityEngine;
|
|
using BITKit;
|
|
namespace BITFALL
|
|
{
|
|
/// <summary>
|
|
/// 资产化装配配置
|
|
/// </summary>
|
|
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<string, int> 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;
|
|
}
|
|
}
|
|
} |