/// <inheritdoc/> public virtual void UpdateSkillList() { var connection = this.player.Connection; if (connection is null) { return; } this.BuildSkillList(); using var writer = connection.StartSafeWrite(SkillListUpdate.HeaderType, SkillListUpdate.GetRequiredSize(this.SkillList.Count)); var packet = new SkillListUpdate(writer.Span) { Count = (byte)this.SkillList.Count, }; for (byte i = 0; i < this.SkillList.Count; i++) { var skillEntry = packet[i]; skillEntry.SkillIndex = i; var skill = this.SkillList[i]; if (skill is not null) { skillEntry.SkillNumber = (ushort)skill.Number; if (skill.MasterDefinition is not null) { skillEntry.SkillLevel = (byte)(this.player.SkillList !.GetSkill((ushort)skill.Number)?.Level ?? 0); } } } writer.Commit(); }
/// <inheritdoc/> public override void UpdateSkillList() { var connection = this.Player.Connection; if (connection is null) { return; } this.BuildSkillList(); using var writer = connection.StartSafeWrite(SkillListUpdate.HeaderType, SkillListUpdate.GetRequiredSize(this.SkillList.Count)); var packet = new SkillListUpdate075(writer.Span) { Count = (byte)this.SkillList.Count, }; for (byte i = 0; i < this.SkillList.Count; i++) { var skillEntry = packet[i]; skillEntry.SkillIndex = i; skillEntry.SkillNumberAndLevel = this.GetSkillNumberAndLevel(this.SkillList[i]); } writer.Commit(); }