Ejemplo n.º 1
0
        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);
            }
        }