73 lines
1.4 KiB
C#
73 lines
1.4 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class SkillsManager : MonoBehaviour
|
|
{
|
|
public static SkillsManager Instance { get; set; }
|
|
[SerializeField]
|
|
private List<SkillTreeItem> _skillsListOrigin;
|
|
public List<SkillTreeItem> _skillsList;
|
|
[SerializeField]
|
|
public List<SkillTreeItem> _skillsActivated;
|
|
|
|
private void Awake()
|
|
{
|
|
|
|
Instance = this;
|
|
DontDestroyOnLoad(this);
|
|
}
|
|
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
ListCheckUp();
|
|
SetList();
|
|
}
|
|
|
|
private void ListCheckUp()
|
|
{
|
|
foreach (SkillTreeItem i in _skillsList)
|
|
{
|
|
CheckSkill(i);
|
|
}
|
|
}
|
|
|
|
public void ResetLists()
|
|
{
|
|
_skillsList = _skillsListOrigin;
|
|
_skillsActivated.Clear();
|
|
}
|
|
|
|
public void CheckSkill(SkillTreeItem i)
|
|
{
|
|
|
|
if (PlayerPrefs.GetInt("Skill " + i.SkillID) == 1)
|
|
{
|
|
_skillsActivated.Add(i);
|
|
|
|
}
|
|
|
|
if (_skillsListOrigin.Contains(i)) return;
|
|
else _skillsListOrigin.Add(i);
|
|
}
|
|
|
|
public void SetList()
|
|
{
|
|
|
|
foreach (SkillTreeItem k in _skillsActivated)
|
|
{
|
|
if (_skillsList.Contains(k))
|
|
{
|
|
_skillsList.Remove(k);
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<SkillTreeItem> GetListOrigin()
|
|
{
|
|
return _skillsListOrigin;
|
|
}
|
|
}
|