
+ Skill관련 image, material, shader 추가 + ISkill 인터페이스 삭제 + ActiveSkill 메커니즘 변경 + RadiusActiveSkill 구현
50 lines
2.1 KiB
C#
50 lines
2.1 KiB
C#
using System;
|
|
using Sirenix.OdinInspector;
|
|
using UnityEngine;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace BlueWaterProject
|
|
{
|
|
[Serializable]
|
|
[CreateAssetMenu(fileName = "ActiveSkillData", menuName = "ScriptableObjects/Skills/ActiveSkillData", order = 0)]
|
|
public class ActiveSkillData : ScriptableObject
|
|
{
|
|
[field: Tooltip("이름")]
|
|
[field: SerializeField] public string Name { get; set; }
|
|
|
|
[field: Tooltip("표기할 이름")]
|
|
[field: SerializeField] public string DisplayName { get; set; }
|
|
|
|
[field: Tooltip("스킬 설명")]
|
|
[field: TextArea]
|
|
[field: SerializeField] public string Description { get; set; }
|
|
|
|
[field: Tooltip("고유의 Skill Material이 있는 경우에만 넣기")]
|
|
[field: SerializeField] public Material Indicator { get; set; }
|
|
|
|
[field: Tooltip("재사용 대기 시간")]
|
|
[field: SerializeField] public float Cooldown { get; set; }
|
|
|
|
[field: Tooltip("시전 시간")]
|
|
[field: SerializeField] public float CastingTime { get; set; }
|
|
|
|
[field: Tooltip("CastingType == 0, 제자리 멈춰서 스킬 시전, 시전 중 이동불가\n" +
|
|
"CastingType == 1, 스킬을 사용한 위치에서 스킬 시전, 캐릭터 움직임 가능\n" +
|
|
"CastingType == 2, 스킬 시전 중 움직일 수 있으며, 스킬이 캐릭터를 따라옴")]
|
|
[field: ShowIf("@CastingTime > 0")]
|
|
[field: Range(0, 2)]
|
|
[field: SerializeField] public int CastingType { get; set; }
|
|
|
|
[field: Tooltip("지속 시간")]
|
|
[field: SerializeField] public float Duration { get; set; }
|
|
|
|
[field: Tooltip("공격력")]
|
|
[field: SerializeField] public float Damage { get; set; }
|
|
|
|
[field: Tooltip("공격 사거리")]
|
|
[field: SerializeField] public float Range { get; set; }
|
|
|
|
[field: Tooltip("공격 가능한 최대 개체 수")]
|
|
[field: SerializeField] public int MaxAttackTargets { get; set; }
|
|
}
|
|
} |