OldBlueWater/BlueWater/Assets/02.Scripts/NewSkill/SkillManager.cs
NTG 27267fbeeb Closes #150
+ 주인공 스킬(검의 왈츠)가 추가되었습니다.
  ㄴ 검의 왈츠 애니메이션이 추가되었습니다.
  ㄴ 스킬에 맞게 UI를 표시합니다.
+ 주인공이 더 이상 공격 중에 이동할 수 없습니다.
+ 새로운 스킬 시스템으로 변경하였습니다.
+ Combat씬에서 사용할 Camera, Ui를 추가하였습니다.
+ Input Action이 변경 되었습니다. (UseSkill => ActivateMainSkill)
+ Idamameable 인터페이스에 GetCurrentHp() 기능이 추가되었습니다.
  ㄴ 변경에 따라 기존 스크립트들에 추가되었습니다.
2024-01-29 00:46:56 +09:00

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);
// }
// }
}
}