+ 주인공 스킬(검의 왈츠)가 추가되었습니다. ㄴ 검의 왈츠 애니메이션이 추가되었습니다. ㄴ 스킬에 맞게 UI를 표시합니다. + 주인공이 더 이상 공격 중에 이동할 수 없습니다. + 새로운 스킬 시스템으로 변경하였습니다. + Combat씬에서 사용할 Camera, Ui를 추가하였습니다. + Input Action이 변경 되었습니다. (UseSkill => ActivateMainSkill) + Idamameable 인터페이스에 GetCurrentHp() 기능이 추가되었습니다. ㄴ 변경에 따라 기존 스크립트들에 추가되었습니다.
52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace BlueWaterProject
|
|
{
|
|
public class SkillManager : Singleton<SkillManager>
|
|
{
|
|
[SerializeField] private List<GameObject> skillPrefab = new();
|
|
private List<SkillBase> skillList;
|
|
|
|
protected override void OnAwake()
|
|
{
|
|
var skillNum = skillPrefab.Count;
|
|
skillList = new List<SkillBase>(skillNum);
|
|
|
|
for (var i = 0; i < skillNum; i++)
|
|
{
|
|
var skill = skillPrefab[i].GetComponent<SkillBase>();
|
|
AddSkill(skill);
|
|
}
|
|
}
|
|
|
|
public void AddSkill(SkillBase skill)
|
|
{
|
|
if (!skillList.Contains(skill))
|
|
{
|
|
skillList.Add(skill);
|
|
}
|
|
}
|
|
|
|
public SkillBase FindSkill(string skillName)
|
|
{
|
|
return skillList.Find(s => s.skillName == skillName);
|
|
}
|
|
|
|
public SkillBase InstantiateSkill(string skillName)
|
|
{
|
|
var skill = FindSkill(skillName);
|
|
|
|
return skill ? Instantiate(skill.gameObject, Vector3.zero, Quaternion.identity).GetComponent<SkillBase>() : null;
|
|
}
|
|
|
|
// public void ActivateSkill(ISkillUser user, int skillIndex, SkillInputData inputData)
|
|
// {
|
|
// if (skillIndex >= 0 && skillIndex < skillList.Count)
|
|
// {
|
|
// user.ActivateSkill(skillList[skillIndex], inputData);
|
|
// }
|
|
// }
|
|
}
|
|
} |