public void Use(PlayerSkillKeySlotEnum slotEnum) { Skill skill = GetSkill(slotEnum); if (skill == null || (isUsingSkill && !IsDoingCombo)) { return; } if (currentSkill != null && currentSkill != skill) { currentSkill.Stop(b => isUsingSkill = b); } currentSkill = skill; skill.Use(b => isUsingSkill = b, skill.IsFirstSkill); }
public bool DeleteSlot(PlayerSkillKeySlotEnum slotEnum) { if (IsSlotEmpty(slotEnum)) { return(false); } playerInventory.GetSkill(skillSlots[(int)slotEnum]); if (OnDeleteSlot != null) { OnDeleteSlot(skillSlots[(int)slotEnum], true); } skillSlots[(int)slotEnum].SetOwner(null); skillSlots[(int)slotEnum] = null; return(true); }
public bool SetSlot(PlayerSkillKeySlotEnum slotEnum, Skill skill) { if (IsSlotEmpty(slotEnum)) { // 슬롯이 비어있음 skillSlots[(int)slotEnum] = skill; skillSlots[(int)slotEnum].SetOwner(player); if (OnSetSlot != null) { OnSetSlot(skillSlots[(int)slotEnum], false); } return(false); } // 슬롯에 이미 스킬이 있음 DeleteSlot(slotEnum); skillSlots[(int)slotEnum] = skill; skillSlots[(int)slotEnum].SetOwner(player); if (OnSetSlot != null) { OnSetSlot(skill, true); } return(true); }
public Skill GetSkill(PlayerSkillKeySlotEnum slotEnum) { return(IsSlotEmpty(slotEnum) ? null : skillSlots[(int)slotEnum]); }
public bool IsSlotEmpty(PlayerSkillKeySlotEnum slotEnum) { return(skillSlots[(int)slotEnum] == null); }