protected override void PostReceive(BinaryReader reader, int sender, Player player) { MinionTacticsPlayer minionTacticsPlayer = player.GetModPlayer <MinionTacticsPlayer>(); byte[] tacticsIds = reader.ReadBytes(MinionTacticsPlayer.TACTICS_GROUPS_COUNT); byte selectedTactic = reader.ReadByte(); byte ignoreTargetReticle = reader.ReadByte(); // reading rest of packet directly into dict MinionTacticsGroupMapper.ReadBuffMap(reader, minionTacticsPlayer.MinionTacticsMap); minionTacticsPlayer.SetAllTactics(tacticsIds, selectedTactic); minionTacticsPlayer.IgnoreVanillaMinionTarget = ignoreTargetReticle; }
protected override void PostReceive(BinaryReader reader, int sender, Player player) { MinionTacticsGroupMapper.ReadBuffMap(reader, out Dictionary <int, int> destDict); MinionTacticsPlayer modPlayer = player.GetModPlayer <MinionTacticsPlayer>(); foreach (var pair in destDict) { modPlayer.MinionTacticsMap[pair.Key] = pair.Value; } // TODO pass the raw byte array, rather than deconstructing/reconstructing the dest dict if (Main.netMode == NetmodeID.Server) { new MinionGroupsPacket(player, destDict).Send(from: sender); } }