internal void SetPlayerName(string name) { var newName = Encoding.UTF8.GetBytes(name); this.RawSave = ArrayHelper.RemoveRange(this.RawSave, OffsetHelper.Name, OffsetHelper.NameLength); this.RawSave = ArrayHelper.AddRangeAtIndex(this.RawSave, newName, OffsetHelper.Name); this.RawSave[OffsetHelper.NameLengthInformation] = (byte)newName.Length; this.DetermineNameLength(); }
internal void SetInventory(Dictionary <SlotType, List <InventoryData> > inventory) { var barData = (ItemHelper.GetItemBytes(inventory[SlotType.Bar])); var invData = (ItemHelper.GetItemBytes(inventory[SlotType.Inv])); var moneyData = (ItemHelper.GetItemBytes(inventory[SlotType.Money])); var ammoData = (ItemHelper.GetItemBytes(inventory[SlotType.Ammo])); byte[] buffer = new byte[barData.Length + invData.Length + moneyData.Length + ammoData.Length]; Array.Copy(barData, 0, buffer, 0, barData.Length); Array.Copy(invData, 0, buffer, barData.Length, invData.Length); Array.Copy(moneyData, 0, buffer, barData.Length + invData.Length, moneyData.Length); Array.Copy(ammoData, 0, buffer, barData.Length + invData.Length + moneyData.Length, ammoData.Length); this.RawSave = ArrayHelper.RemoveRange(this.RawSave, OffsetHelper.Inventory, OffsetHelper.InventoryLength); this.RawSave = ArrayHelper.AddRangeAtIndex(this.RawSave, buffer, OffsetHelper.Inventory); OffsetHelper.InventoryLength = buffer.Length; }
internal void SetColors(List <Color> colors) { var buffer = new byte[21]; for (int i = 0; i < colors.Count; i++) { var newColor = ArrayHelper.ColorToByteArray(colors[i]); if (i == 0) { Array.Copy(newColor, 0, buffer, i, newColor.Length); continue; } Array.Copy(newColor, 0, buffer, i * 3, newColor.Length); } this.RawSave = ArrayHelper.RemoveRange(this.RawSave, OffsetHelper.HairColor, (OffsetHelper.ShoesColor - OffsetHelper.HairColor) + 3); this.RawSave = ArrayHelper.AddRangeAtIndex(this.RawSave, buffer, OffsetHelper.HairColor); }