OldBlueWater/BlueWater/Assets/02.Scripts/Skill/SkillController.cs
NTG_Lenovo 8069748e49 맵 크기 변경
+ 스킬 구조 변경
+ 공격시 히트스톱 추가
+ Lava 추가 중
2023-11-29 15:13:25 +09:00

51 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
[Serializable]
public class SkillController : MonoBehaviour
{
[SerializeField] private ActiveSkillSo activeSkillDataSo;
private Dictionary<string, ActiveSkill> activeSkillDictionary;
private ActiveSkill cachingObj;
private void Awake()
{
Init();
}
private void Init()
{
activeSkillDictionary = new Dictionary<string, ActiveSkill>(activeSkillDataSo.ActiveSkillList.Count);
foreach (var activeSkill in activeSkillDataSo.ActiveSkillList)
{
activeSkillDictionary.Add(activeSkill.ActiveSkillData.Name, activeSkill);
}
}
public ActiveSkill InstantiateActiveSkillByName(string skillName)
{
var instantiateActiveSkill = Instantiate(GetSkillByName(skillName));
if (instantiateActiveSkill == null)
{
print("스킬을 생성할 수 없습니다.");
return null;
}
return instantiateActiveSkill;
}
public ActiveSkill GetSkillByName(string skillName)
{
if (activeSkillDictionary.TryGetValue(skillName, out cachingObj)) return cachingObj;
print(skillName + "은(는) 스킬 딕셔너리에 존재하지 않습니다.");
return null;
}
}
}