<aside> ❗ 씬마다 **CollavoSystem(Prefab)**을 추가해야 작동합니다.
</aside>
public class CollavoSystem : MonoBehaviour
{
private Dictionary<string, PlayerController> _currentSkills= new Dictionary<string, PlayerController>();
private void Start()
{
// 임시 코드 테스트를 위한
_currentSkills.Add("test", null);
}
public void AddCurrentSkill(PlayerController controller, string skillName)
{
if(_currentSkills.TryGetValue(skillName, out PlayerController player)) // 있음
{
_currentSkills.Remove(skillName);
ChangeToCollavoState(controller);
ChangeToCollavoState(player);
}
else // 없음
{
_currentSkills.Add(skillName, controller);
}
}
public void ChangeToCollavoState(PlayerController controller)
{
if (controller == null) return;
controller.ChangeState(controller.COLLAVO_STATE);
}
public void RemoveCurrentSkill(string skillName)
{
if(_currentSkills.ContainsKey(skillName)) _currentSkills.Remove(skillName);
}
public void Clear()
{
_currentSkills.Clear();
}
}
어떤 콜라보 스킬을 어떤 플레이어가 썼는지 기록합니다.
