예제 #1
0
        public static void sendMessage(ICollection <Player> receiverPlayers, Minion minion, ICollection <Minion> otherMinions)
        {
            RawMessage msg = new RawMessage();

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


            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", minion.instanceId);
                msg.putFloat("ds", 1.3f);

                int [] minionInstanceIDs = new int[otherMinions.Count];

                int index = 0;
                foreach (var minionTarget in otherMinions)
                {
                    minionInstanceIDs[index++] = minionTarget.instanceId;
                }

                msg.putIntArray("mids", minionInstanceIDs);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }
예제 #2
0
        public static void sendMessage(ICollection <Player> recievers)
        {
            RawMessage bigMsg = new RawMessage();

            bigMsg.putInt("id", TypeIdGenerator.getMessageId(typeof(GLoadingStateRequest)));

            List <RawMessage> userMsgs = new List <RawMessage>();

            foreach (Player player in recievers)
            {
                RawMessage msg = new RawMessage();
                msg.putInt("btid", TypeIdGenerator.getBoardId(player.board.GetType()));
                msg.putInt("biid", player.board.instanceId);
                msg.putUTF8String("st", player.user.selectedScienceTypeInQueue.ToString());
                msg.putInt("hps", player.healthPoints);
                msg.putInt("cash", player.cash);
                msg.putInt("inc", player.income);
                msg.putUTF8String("un", player.user.username);
                msg.putInt("uid", player.user.id);
                userMsgs.Add(msg);
            }

            bigMsg.putRawMessageArray("users", userMsgs.ToArray());

            foreach (Player p in recievers)
            {
                p.user.session.client.SendMessage(bigMsg);
            }
        }
예제 #3
0
        public static void sendMessage(ICollection <Player> receiverPlayers, Missile missile)
        {
            RawMessage msg = new RawMessage();

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

            // STATCODE
            PlayerStats pStats = missile.ownerTower.board.player.game.statTracker.getPlayerStatsOfPlayer(missile.ownerTower.board.player);

            pStats.missilesFired += 1;

            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", missile.instanceId);
                msg.putInt("bid", missile.ownerTower.board.instanceId);
                msg.putInt("iob", missile.ownerTower.indexOnBoard);
                msg.putInt("tid", TypeIdGenerator.getMissileId(missile.GetType()));
                msg.putInt("mid", missile.targetMinion.instanceId);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }
예제 #4
0
        public static void sendMessage(ICollection <Player> receiverPlayers, FrankenScientistMinion parentMinion, ScrapGolemMinion spawnedMinion)
        {
            RawMessage msg = new RawMessage();

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

            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", parentMinion.instanceId);
                if (spawnedMinion.ownerPlayer != null)
                {
                    msg.putInt("uid", spawnedMinion.ownerPlayer.id);
                }
                else
                {
                    msg.putInt("uid", -1);
                }
                msg.putInt("sid", spawnedMinion.instanceId);
                msg.putInt("bid", spawnedMinion.position.board.instanceId);
                msg.putInt("cid", spawnedMinion.position.pathPosition.pointIndex);
                msg.putFloat("t", spawnedMinion.position.pathPosition.ratio);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }
        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);
                }
            }
        }
예제 #6
0
        public static void sendMessage()
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LCancelQueueRequest)));
            Network.server.SendMessage(msg);
        }
예제 #7
0
        public static void sendMessage(ICollection <Player> receiverPlayers, Minion minion)
        {
            RawMessage msg = new RawMessage();

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

            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", minion.instanceId);
                if (minion.ownerPlayer != null)
                {
                    msg.putInt("uid", minion.ownerPlayer.id);
                }
                else
                {
                    msg.putInt("uid", -1);
                }
                msg.putInt("tid", TypeIdGenerator.getMinionId(minion.GetType()));
                msg.putInt("bid", minion.position.board.instanceId);
                msg.putInt("cid", minion.position.pathPosition.pointIndex);
                msg.putFloat("t", minion.position.pathPosition.ratio);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }
예제 #8
0
        public static void sendMessage()
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GEndGameStatisticsRequest)));
            Network.server.SendMessage(msg);
        }
예제 #9
0
        public static void sendMessage(ICollection <Player> receiverPlayers, Tower tower, ICollection <Minion> minionsToTeleport)
        {
            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                RawMessage msg = new RawMessage();
                msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GTower_BlackHole_teleport)));

                msg.putInt("iid", tower.instanceId);

                int[] ids = new int[minionsToTeleport.Count];

                int index = 0;
                foreach (var minion in minionsToTeleport)
                {
                    ids[index++] = minion.instanceId;
                }

                msg.putIntArray("miid", ids);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }
예제 #10
0
		public static void sendMessage(string scienceType) 
		{
			RawMessage msg = new RawMessage();
			msg.putInt("id", TypeIdGenerator.getMessageId( typeof(LEnterQueueRequest) ));
			msg.putUTF8String("st",scienceType);
			Network.server.SendMessage(msg);
		}
예제 #11
0
        public static void sendMessage()
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GLoadingStateResult)));
            Network.server.SendMessage(msg);
        }
예제 #12
0
        static public void sendMessage(int minionTypeId)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCreateMinionRequest)));
            msg.putInt("tid", minionTypeId);
            Network.server.SendMessage(msg);
        }
예제 #13
0
        public static void sendMessage()
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GQuitGameRequest)));
            Network.server.SendMessage(msg);
            Runner.Graphics.destroyGame();
        }
예제 #14
0
        public static void sendMessage(Type nodeType)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LUnlockNodeRequest)));
            msg.putInt("tid", TypeIdGenerator.getScienceNodeIds(nodeType));
            Network.server.SendMessage(msg);
        }
예제 #15
0
        public static void sendMessage(bool result)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GReadyStateResult)));
            msg.putBool("r", result);
            Network.server.SendMessage(msg);
        }
예제 #16
0
        public static void sendMessage(User receiver)
        {
            RawMessage msg = new RawMessage();

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

            receiver.session.client.SendMessage(msg);
        }
예제 #17
0
        static public void sendMessage(int towerTypeId, int indexOnBoard)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCreateTowerRequest)));
            msg.putInt("tid", towerTypeId);
            msg.putInt("iob", indexOnBoard);
            Network.server.SendMessage(msg);
        }
예제 #18
0
        public static void sendMessage(string text)
        {
            // TODO User state check
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GChatMessage)));
            msg.putUTF8String("cmd", text);
            Network.server.SendMessage(msg);
        }
예제 #19
0
        public static void sendMessage(User user)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LReturnQueue)));
            user.userState = User.UserState.LOBBY;
            Runner.queue.addUser(user);
            user.session.client.SendMessage(msg);
        }
예제 #20
0
        static public void sendMessage(Engine.Towers.Tower tower, int upgradedTowerTypeId)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GUpgradeTowerRequest)));
            msg.putInt("tid", upgradedTowerTypeId);
            msg.putInt("iob", tower.indexOnBoard);
            Network.server.SendMessage(msg);
        }
예제 #21
0
        public static void sendMessage(User user, bool result)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LCancelQueueResult)));
            msg.putBool("r", result);

            user.session.client.SendMessage(msg);
        }
예제 #22
0
        static public void sendMessage(int currentMinionTypeId, int upgradedMinionTypeId)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GUpgradeMinionRequest)));
            msg.putInt("tid", currentMinionTypeId);
            msg.putInt("utid", upgradedMinionTypeId);

            Network.server.SendMessage(msg);
        }
예제 #23
0
        public static void sendMessage(Player player)
        {
            RawMessage msg = new RawMessage();

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

            msg.putInt("c", player.cash);
            msg.putInt("i", player.income);

            player.user.session.client.SendMessage(msg);
        }
예제 #24
0
        public static void sendMessage(ICollection <Player> players, bool result)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GReadyStateResult)));
            msg.putBool("r", result);

            foreach (Player player in players)
            {
                player.user.session.client.SendMessage(msg);
            }
        }
예제 #25
0
        public static void sendMessage(ICollection <Player> receiverPlayers, float seconds)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GEnterStartCountdown)));
            msg.putFloat("s", seconds);

            foreach (var player in receiverPlayers)
            {
                player.user.session.client.SendMessage(msg);
            }
        }
예제 #26
0
        public static void sendMessage(string senderUsername, string message)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LChatMessage)));
            msg.putUTF8String("s", senderUsername);
            msg.putUTF8String("m", message);

            foreach (User u in Runner.users.Where(p => p.userState == User.UserState.LOBBY || p.userState == User.UserState.QUEUE))
            {
                u.session.client.SendMessage(msg);
            }
        }
예제 #27
0
        public static void sendMessage(ICollection <Player> recievers)
        {
            RawMessage msg = new RawMessage();

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

            msg.putFloat("s", Science_Wars_Server.Game.READY_STATE_END_TIME_DEFAULT);

            foreach (Player p in recievers)
            {
                p.user.session.client.SendMessage(msg);
            }
        }
예제 #28
0
        public static void sendMessage(User user, string message)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GChatMessage)));
            msg.putUTF8String("s", user.username);
            msg.putUTF8String("m", message);

            foreach (Player p  in user.player.game.players)
            {
                p.user.session.client.SendMessage(msg);
            }
        }
예제 #29
0
        public static void sendMessage(Player receiverPlayer, int oldMinionTypeId, int upgradedMinionTypeId)
        {
            RawMessage msg = new RawMessage();

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

            if (receiverPlayer != null)
            {
                msg.putInt("tid", oldMinionTypeId);
                msg.putInt("utid", upgradedMinionTypeId);

                receiverPlayer.user.session.client.SendMessage(msg);
            }
        }
예제 #30
0
        public static void sendMessage(ICollection <Player> receiverPlayers, float nextPaymentTime)
        {
            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                RawMessage msg = new RawMessage();
                msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GPaymentTimeInfo)));
                msg.putFloat("s", nextPaymentTime);

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }