OldBlueWater/BlueWater/Assets/02.Scripts/NewSkill/SkillManager.cs

52 lines
1.5 KiB
C#
Raw Normal View History

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