This commit is contained in:
aube.lee
2025-02-18 15:43:20 +09:00
3 changed files with 98 additions and 4 deletions

View File

@@ -0,0 +1,83 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TON
{
public class AttackPattern
{
protected MonsterBase _monsterBase;
public AttackPattern(MonsterBase monsterBase)
{
_monsterBase = monsterBase;
}
public virtual void Attack()
{
}
}
public class Monster1AttackPattern : AttackPattern
{
public Monster1AttackPattern(MonsterBase monsterBase) : base(monsterBase)
{
}
public override void Attack()
{
Skill1();
MeleeAttack();
}
private void Skill1()
{
_monsterBase.MonsterSkillLaunch();
}
private void MeleeAttack()
{
_monsterBase.PlayerAttack();
}
}
public class Monster2AttackPattern : AttackPattern
{
public Monster2AttackPattern(MonsterBase monsterBase) : base(monsterBase)
{
}
public override void Attack()
{
Skill1();
Skill2();
MeleeAttack();
}
private void Skill1()
{
}
private void Skill2()
{
}
private void MeleeAttack()
{
_monsterBase.PlayerAttack();
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 55724230a1ec9b5418a40829c72b81fa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -64,10 +64,10 @@ namespace TON
// 첫 번째 프레임 전에 호출됩니다. // 첫 번째 프레임 전에 호출됩니다.
private void Start() private void Start()
{ { // 전략 패턴
// 전략 패턴 // TODO : 수정중
_attackPattern = new Monster1AttackPattern(); // _attackPattern = new Monster1AttackPattern();
_attackPattern = new Monster2AttackPattern(); // _attackPattern = new Monster2AttackPattern();
_animator = GetComponent<Animator>(); // 애니메이터 컴포넌트 초기화 _animator = GetComponent<Animator>(); // 애니메이터 컴포넌트 초기화