public static ClassSkill Read(byte b) { ClassSkill classSkill = new ClassSkill(); classSkill.Points = b; return(classSkill); }
public static byte[] Write(ClassSkill classSkill) { using (BitWriter writer = new BitWriter()) { writer.WriteByte(classSkill.Points); return(writer.ToArray()); } }
public static byte[] Write(ClassSkills classSkills) { using (BitWriter writer = new BitWriter()) { writer.WriteUInt16(classSkills.Header ?? (UInt16)0x6669); for (int i = 0; i < 30; i++) { writer.WriteBytes(ClassSkill.Write(classSkills.Skills[i])); } return(writer.ToArray()); } }
public static ClassSkills Read(byte[] bytes, int playerClass) { ClassSkills classSkills = new ClassSkills(); using (BitReader reader = new BitReader(bytes)) { classSkills.Header = reader.ReadUInt16(); uint offset = SKILL_OFFSETS[playerClass]; for (uint i = 0; i < 30; i++) { ClassSkill skill = ClassSkill.Read(reader.ReadByte()); skill.Id = offset + i; classSkills.Skills.Add(skill); } return(classSkills); } }