-
Notifications
You must be signed in to change notification settings - Fork 2
develop Enemy Data
Jeon-YJ1004 edited this page Feb 20, 2023
·
2 revisions
- script>Enemy> EnemyScriptableObject 파일 생성
[CreateAssetMenu(fileName = "EnemyData", menuName = "ScriptableObjects/Enemy")]
public class EnemyScriptableObject : ScriptableObject
{
public int speed; //몬스터의 이동 속도
public float power; //몬스터의 공격력
public float knockback; //몬스터 피격 시 넉백(밀리는) 정도에 대한 수치
public float maxKnockback; //몬스터 넉백 정도는 증가할 수 있는데 그 정도의 상한
public float deathKB; //몬스터 사망 시 넉백(밀리는) 정도에 대한 수치
public int xp; //드랍되는 경험치의 양(수치) 이다.
public int end; //레벨 업 상한선
public int level; //초기 레벨 수치
public float maxHP;
}
createAssetMenu를 하면
Prefabs>Scriptable Object 폴더에 적 데이터인 scriptalbe 파일들 프리펩. 아래와 같이 정보 저장
- Enemy.cs의 적 관련 변수들(속도, 넉백 등..)을 데이터에 맞게 변환하기 위하여 코드 수정.
~
public EnemyScriptableObject enemyData;
~
public void Init(EnemyScriptableObject data)
{
enemyData = data;
Debug.Log("몬스터 생성");
anim.runtimeAnimatorController = animcon[enemyData.spriteType];
}
~
Vector2 nextVec = direction * enemyData.speed * Time.fixedDeltaTime;
- EnemySpawner.cs 코드 수정.
public EnemyScriptableObject[] spawnData;