+ MiniSandMole 프리팹 추가 + BossConfiguration So에 MiniSandMole 추가 + MiniSandMoleData, MiniSingleRollData So 추가 + MiniSandMole BehaviorTree 추가 + SandMoleMapController 클래스 추가 + ITarget, ICurrentDirection 인터페이스 추가 + Bt Actions - CanSkill, ActivateSkill 로직 변경 + BossHealthPoint 로직 변경 + 미니 모래 두더지에 소환할 때, 죽을 때, 디졸브 효과 추가 Closes #20
45 lines
1.8 KiB
C#
45 lines
1.8 KiB
C#
using Sirenix.OdinInspector;
|
|
using UnityEngine;
|
|
|
|
namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
|
{
|
|
[CreateAssetMenu(fileName = "SingleRollData", menuName = "ScriptableObjects/Skills/SandMole/SingleRollData", order = (int)SandMoleSkill.SingleRoll)]
|
|
public class SingleRollData : SkillData
|
|
{
|
|
[field: SerializeField]
|
|
public LayerMask WallLayer { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public LayerMask GroundLayer { get; private set; }
|
|
|
|
[field: SerializeField, Tooltip("초당 돌진 속도")]
|
|
public float RollSpeed { get; private set; } = 15f;
|
|
|
|
[field: SerializeField, Tooltip("공격했을 때, 타겟을 밀어내는 힘")]
|
|
public float PushPower { get; private set; } = 20f;
|
|
|
|
[field: SerializeField, Tooltip("벽에 부딪혔을 때, 공중으로 뜨는 힘")]
|
|
public float AirJumpForce { get; private set; } = 3f;
|
|
|
|
[field: SerializeField, Tooltip("벽에 부딪혔을 때, 밀려나는 힘")]
|
|
public float BounceBackForce { get; private set; } = 200f;
|
|
|
|
[field: SerializeField]
|
|
public float CameraShakingPower { get; private set; } = 5f;
|
|
|
|
[field: SerializeField]
|
|
public float CameraShakingDuration { get; private set; } = 1f;
|
|
|
|
[field: SerializeField]
|
|
public GameObject RockfallPrefab { get; private set; }
|
|
|
|
[field: SerializeField, ShowIf("@RockfallPrefab")]
|
|
public Vector2 RandomSide { get; private set; } = new(-2, 2);
|
|
|
|
[field: SerializeField, ShowIf("@RockfallPrefab")]
|
|
public float RockfallInterval { get; private set; } = 2f;
|
|
|
|
[field: SerializeField, ShowIf("@RockfallPrefab")]
|
|
public float RockfallSpawnHeight { get; private set; } = 5f;
|
|
}
|
|
} |