void IGraphics.minion_mutantEightLegged_spawn(MutantEightLeggedMinion parentMinion, ICollection <MutantEightLeggedSpawningMinion> spawnings)
 {
     foreach (var spawning in spawnings)
     {
         createMinion(spawning);
     }
 }
        public static void sendMessage(ICollection <Player> receiverPlayers, MutantEightLeggedMinion parentMinion, ICollection <MutantEightLeggedSpawningMinion> spawnedMinions, ICollection <Minion> deadMinions)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GMinion_MutantEightLegged_spawn)));

            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", parentMinion.instanceId);
                msg.putInt("c", spawnedMinions.Count);

                int[] sid = new int[spawnedMinions.Count];
                for (int i = 0; i < spawnedMinions.Count; i++)
                {
                    sid[i] = spawnedMinions.ElementAt(i).instanceId;
                }
                msg.putIntArray("sid", sid);

                int[] did = new int[deadMinions.Count];
                for (int i = 0; i < deadMinions.Count; i++)
                {
                    did[i] = deadMinions.ElementAt(i).instanceId;
                }
                msg.putIntArray("did", did);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }
Exemple #3
0
        public override void processMessage(RawMessage message)
        {
            MutantEightLeggedMinion parentMinion = (MutantEightLeggedMinion)Engine.Game.getMinionById(message.getInt("iid"));

            int spawningCount = message.getInt("c");

            if (spawningCount == 0)
            {
                return;
            }

            int[] spawningIds = message.getIntArray("sid");
            int[] deadIds     = message.getIntArray("did");

            List <MutantEightLeggedSpawningMinion> spawnings = new List <MutantEightLeggedSpawningMinion>();
            MutantEightLeggedSpawningMinion        spawning;
            Minion deadMinion;

            for (int i = 0; i < spawningCount; i++)
            {
                deadMinion = Engine.Game.getMinionById(deadIds[i]);
                if (deadMinion != null)
                {
                    spawning            = parentMinion.createSpawning();
                    spawning.instanceId = spawningIds[i];
                    spawnings.Add(spawning);
                    deadMinion.position.board.AddMinionSpecificPosition(spawning, deadMinion.position.pathPosition);
                }
            }

            Runner.Graphics.minion_mutantEightLegged_spawn(parentMinion, spawnings);
        }