private void OnSkillDroppedOut(Skill skill) { if (skill.Type == SkillType.Weapon) { return; } SkillRemoved?.Invoke(skill); }
/// <inheritdoc/> public virtual void RemoveSkill(Skill skill) { var skillIndex = this.SkillList.IndexOf(skill); using var writer = this.player.Connection.StartSafeWrite(SkillRemoved.HeaderType, SkillRemoved.Length); _ = new SkillRemoved(writer.Span) { SkillIndex = (byte)skillIndex, SkillNumber = (ushort)skill.Number, }; this.SkillList[skillIndex] = null; writer.Commit(); }
public void Remove(int skillId) { var skill = Skills.FirstOrDefault(s => s.Id == skillId); if (skill == null) { return; } if (IsOnActionBar(skill.Id)) { RemoveFromActionBar(skill.Id); } Skills.Remove(skill); SkillRemoved?.Invoke(skill); }