Compare commits

..

No commits in common. "77c798f9ad89c8bed1f985b583445f179d413cb2" and "55533e6571ca1ad8b47c42158f1298808192a5a3" have entirely different histories.

5 changed files with 19 additions and 31 deletions

BIN
Assets/JYY/Prefabs/Alien Big Blink.prefab (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Assets/JYY/Scenes/MonsterTest.unity (Stored with Git LFS)

Binary file not shown.

View File

@ -51,15 +51,9 @@ public class BulletBase : MonoBehaviour
float moveDist = _speed * Time.deltaTime; float moveDist = _speed * Time.deltaTime;
// 1) Raycast 충돌 검사 // 1) Raycast 충돌 검사
if (Physics.SphereCast( if (Physics.Raycast(_prevPosition, _direction, out RaycastHit hit, moveDist, _targetLayer))
_prevPosition,
1,
_direction,
out RaycastHit hit,
moveDist,
_targetLayer
))
{ {
// 닿은 지점으로 이동
transform.position = hit.point; transform.position = hit.point;
OnBulletHit(hit); OnBulletHit(hit);
return; return;
@ -91,11 +85,4 @@ public class BulletBase : MonoBehaviour
Debug.Log("## Bullet destroyed"); Debug.Log("## Bullet destroyed");
Destroy(gameObject); Destroy(gameObject);
} }
// 기즈모로 반지름 시각화
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(transform.position, 1);
}
} }

View File

@ -277,29 +277,30 @@ public class CasterDemonController : EnemyController
private IEnumerator SlowFieldSpell() private IEnumerator SlowFieldSpell()
{ {
var aimPosition = TargetPosOracle(out var basePos, out var rb); var aimPosition = TargetPosOracle(out var basePos, out var rb);
// 1. 시전 애니메이션
transform.LookAt(aimPosition); transform.LookAt(aimPosition);
SetAnimation(Cast);
SFXPlayer(slowFieldSound);
// 장판 생성과 세팅 // 2. 장판 생성과 세팅
var fixedPos = new Vector3(aimPosition.x, aimPosition.y, aimPosition.z); var fixedPos = new Vector3(aimPosition.x, aimPosition.y, aimPosition.z);
var warning = Instantiate(chariotWarning, fixedPos, Quaternion.identity).GetComponent<MagicAoEField>(); var warning = Instantiate(chariotWarning, fixedPos, Quaternion.identity).GetComponent<MagicAoEField>();
warning.SetEffect(SlowFieldEffectData, () => warning.SetEffect(SlowFieldEffectData, null, null);
{
SetAnimation(Cast);
SFXPlayer(slowFieldSound);
}, null);
// 짧은 텀 후 끝내기 // 3. 짧은 텀 후 끝내기
yield return Wait.For(1f); yield return Wait.For(1f);
} }
private IEnumerator KnockbackSpell() private IEnumerator KnockbackSpell()
{ {
// 시전 애니메이션
SetAnimation(Spin);
SFXPlayer(spinSound);
// 넉백 발생
var knockback = Instantiate(chariotWarning, transform).GetComponent<MagicAoEField>(); var knockback = Instantiate(chariotWarning, transform).GetComponent<MagicAoEField>();
knockback.SetEffect(KnockbackData, ()=>{ knockback.SetEffect(KnockbackData, null, null, DebuffType.Knockback.ToString());
SetAnimation(Spin);
SFXPlayer(spinSound);}, null, DebuffType.Knockback.ToString());
yield return Wait.For(1f); yield return Wait.For(1f);
} }