Exemplo n.º 1
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int minionInstanceId  = message.getInt("miid");
            int boardId           = message.getInt("tbid");
            int towerIndexOnBoard = message.getInt("tiob");

            Minion minion = Engine.Game.getMinionById(minionInstanceId);

            if (minion == null)
            {
                Debug.Log("LaserTower: targetlanacak minion oyunda yok!");
                return;
            }

            Board board = Engine.Game.getBoardById(boardId);

            if (board != null && board.towers.Length > towerIndexOnBoard && towerIndexOnBoard >= 0)
            {
                Tower tower = board.towers[towerIndexOnBoard];
                if (tower != null && tower is LaserTower)
                {
                    Runner.Graphics.tower_laserTower_target((LaserTower)tower, minion);
                }
            }
        }
Exemplo n.º 2
0
 public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
 {
     if (user.userState == User.UserState.GAME)
     {
         StatTracker   statTracker = user.player.game.statTracker;
         List <Player> recievers   = new List <Player>();
         recievers.Add(user.player);
         for (int i = 0; i < user.player.game.statPlayers.Count; i++)
         {
             if (user.player.game.statPlayers[i] != null)
             {
                 for (int j = 0; j < statTracker.playerStatsList.Count; j++)
                 {
                     if (user.player == statTracker.playerStatsList[j].ownerPlayer)
                     {
                         statTracker.playerStatsList[j].income = user.player.income;
                         statTracker.playerStatsList[j].cash   = user.player.cash;
                         break;
                     }
                 }
             }
         }
         OutgoingMessages.Game.GEndGameStatisticsResult.sendMessage(recievers, statTracker);
     }
 }
Exemplo n.º 3
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion = Engine.Game.getMinionById(message.getInt("iid"));

            if (minion != null)
            {
                minion.destroyable = true;
            }
        }
Exemplo n.º 4
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion = Engine.Game.getMinionById(message.getInt("iid"));

            if (minion != null)
            {
                minion.stats.health = message.getFloat("h");
            }
        }
Exemplo n.º 5
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Player p = Engine.Game.getUserById(message.getInt("uid")).player;

            if (p != null)
            {
                Engine.Game.setPlayerHealth(p, message.getInt("h"));
            }
        }
Exemplo n.º 6
0
 public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
 {
     if (user.userState == User.UserState.QUEUE)
     {
         LCancelQueueResult.sendMessage(user, true);
         Runner.queue.removeUser(user);
     }
     else
         LCancelQueueResult.sendMessage(user, false);
 }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion         = Engine.Game.getMinionById(message.getInt("iid"));
            Minion minionToHookTo = Engine.Game.getMinionById(message.getInt("tiid"));

            if (minion != null && minionToHookTo != null && minion is RoboHookMinion)
            {
                ((RoboHookMinion)minion).hook(minionToHookTo);
            }
        }
Exemplo n.º 8
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int cash   = message.getInt("c");
            int income = message.getInt("i");

            PlayerMe.cash   = cash;
            PlayerMe.income = income;

            Runner.Graphics.updateCashAndIncome();
        }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int minionInstanceId  = message.getInt("miid");
            int boardId           = message.getInt("tbid");
            int towerIndexOnBoard = message.getInt("tiob");

            Minion       minion = Engine.Game.getMinionById(minionInstanceId);
            DroseraTower tower  = (DroseraTower)Engine.Game.getBoardById(boardId).towers[towerIndexOnBoard];

            Runner.Graphics.tower_droseraTower_bite(tower, minion);
        }
Exemplo n.º 10
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion       minion = Engine.Game.getMinionById(message.getInt("iid"));
            MinionEffect effect = (MinionEffect)Activator.CreateInstance(TypeIdGenerator.getMinionEffectClass(message.getInt("tid")));

            if (minion != null)
            {
                minion.effects.AddLast(effect);
                Runner.Graphics.addMinionEffect(minion, effect);
            }
        }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion             minion     = Engine.Game.getMinionById(message.getInt("iid"));
            float              slowAmount = message.getFloat("sa");
            NailTrapSlowEffect effect     = new NailTrapSlowEffect(slowAmount);

            if (minion != null)
            {
                minion.effects.AddLast(effect);
                Runner.Graphics.addMinionEffect(minion, effect);
            }
        }
Exemplo n.º 12
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Board board = Engine.Game.getBoardById(message.getInt("bid"));
            Tower tower = board.towers[message.getInt("iob")];

            ITowerEffect effect = (ITowerEffect)Activator.CreateInstance(TypeIdGenerator.getTowerEffectClass(message.getInt("tid")));

            if (tower != null)
            {
                tower.effects.AddLast(effect);
            }
        }
Exemplo n.º 13
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion = Engine.Game.getMinionById(message.getInt("iid"));

            if (minion != null)
            {
                minion.minionState             = Minion.MinionState.ALIVE;
                minion.stats.health            = 264;
                minion.stats.baseMovementSpeed = 1.1f;
                Runner.Graphics.minion_zombie_raise((ZombieMinion)minion);
            }
        }
Exemplo n.º 14
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Tower tower = (Tower)System.Activator.CreateInstance(TypeIdGenerator.getTowerType(message.getInt("tid")));

            tower.indexOnBoard = message.getInt("iob");

            Board board = Assets.Scripts.Engine.Game.getBoardById(message.getInt("bid"));

            if (board.AddTower(tower, tower.indexOnBoard))
            {
                Runner.Graphics.createTower(tower);
            }
        }
Exemplo n.º 15
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion      = Engine.Game.getMinionById(message.getInt("iid"));
            float  runBackTime = message.getFloat("t");

            TrypanophobiaEffect effect = new TrypanophobiaEffect(runBackTime);

            if (minion != null)
            {
                minion.effects.AddLast(effect);
                Runner.Graphics.addMinionEffect(minion, effect);
            }
        }
Exemplo n.º 16
0
 public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
 {
     if (user.userState == User.UserState.LOBBY)
     {
         LEnterQueueResult.sendMessage(user, true);
         string qType = message.getUTF8String("st");
         user.selectedScienceTypeInQueue = (ScienceType)Enum.Parse(typeof(ScienceType), qType, true);
         Runner.queue.addUser(user);
     }
     else
     {
         LEnterQueueResult.sendMessage(user, false);
     }
 }
Exemplo n.º 17
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int  instanceId = message.getInt("iid");
            int  typeId     = message.getInt("tid");
            User ownerUser  = Engine.Game.getUserById(message.getInt("uid"));

            float[] position = message.getFloatArray("pos");

            if (ownerUser != null)
            {
                AreaEffect areaEffect = (AreaEffect)Activator.CreateInstance(TypeIdGenerator.getAreaEffectClass(typeId), instanceId, ownerUser.player, new Vector3(position[0], position[1], position[2]));
                Engine.Game.AddAreaEffect(areaEffect);
                Runner.Graphics.createAreaEffect(areaEffect);
            }
        }
Exemplo n.º 18
0
        public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
        {
            int nodetypeid = message.getInt("tid");

            // Get type of science node to access its ScienceNode instance.
            // Find parent of it and check if the user has already unlocked it or not.
            // If successfull access database and change it.
            try
            {
                Type        nodeType = TypeIdGenerator.getScienceNodeTypes(nodetypeid);
                ScienceNode newNode  = ScienceTrees.ScienceNodes.ScienceNode.scienceNodeInst[nodeType];

                //int parentNodeId = TypeIdGenerator.getScienceNodeIds(newNode.parent.GetType());
                //if (user.unlockedScienceNodes[parentNodeId] && !user.unlockedScienceNodes[nodetypeid] )
                if (!user.unlockedScienceNodes[nodetypeid])
                {
                    // TODO: try to spend science points
                    user.unlockedScienceNodes[nodetypeid] = true;
                    bool[] unlockedScienceNodesWithDdId = new bool[user.unlockedScienceNodes.Length];
                    for (int i = 0; i < user.unlockedScienceNodes.Length; i++)
                    {
                        Type        tmpNodeType = TypeIdGenerator.getScienceNodeTypes(i);
                        ScienceNode tmpNode     = ScienceTrees.ScienceNodes.ScienceNode.scienceNodeInst[tmpNodeType];
                        int         tmpDbId     = ScienceNode.scienceNodeDbIds[tmpNode];
                        if (user.unlockedScienceNodes[i])
                        {
                            unlockedScienceNodesWithDdId[tmpDbId] = true;
                        }
                        else
                        {
                            unlockedScienceNodesWithDdId[tmpDbId] = false;
                        }
                    }
                    newNode.unlock(user);
                    Runner.dal.openScienceNode(user.id, unlockedScienceNodesWithDdId);
                    LUnlockNodeResult.sendMessage(user, true);
                }
                else
                {
                    LUnlockNodeResult.sendMessage(user, false);
                }
            }

            catch
            {
                LUnlockNodeResult.sendMessage(user, false);
            }
        }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int instanceId = message.getInt("iid");

            int[] minionIds = message.getIntArray("miid");
            for (int i = 0; i < minionIds.Length; i++)
            {
                Minion m = Engine.Game.getMinionById(minionIds[i]);
                if (m != null)
                {
                    Runner.Graphics.tower_blackHoleTower_teleportStart(m);
                    m.moveCustomDistance(-2.0f);
                    Runner.Graphics.tower_blackHoleTower_teleportEnd(m);
                }
            }
        }
Exemplo n.º 20
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion = Engine.Game.getMinionById(message.getInt("iid"));
            Board  board  = Engine.Game.getBoardById(message.getInt("bid"));

            if (board != null && minion != null && !board.minions.ContainsKey(minion.instanceId))
            {
                board.AddMinion(minion);
            }

            if (minion != null)
            {
                minion.position.pathPosition.pointIndex = message.getInt("cid");
                minion.position.pathPosition.ratio      = message.getFloat("t");
            }
        }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int minionInstanceId  = message.getInt("miid");
            int boardId           = message.getInt("tbid");
            int towerIndexOnBoard = message.getInt("tiob");

            Board board = Engine.Game.getBoardById(boardId);

            if (board != null && board.towers.Length > towerIndexOnBoard && towerIndexOnBoard >= 0)
            {
                Tower tower = board.towers[towerIndexOnBoard];
                if (tower != null && tower is LaserTower)
                {
                    Runner.Graphics.tower_laserTower_untarget((LaserTower)tower, minionInstanceId);
                }
            }
        }
Exemplo n.º 22
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            int  instanceId = message.getInt("iid");
            int  typeId     = message.getInt("tid");
            User ownerUser  = Engine.Game.getUserById(message.getInt("uid"));

            float[] position     = message.getFloatArray("pos");
            float   dmgPerSecond = message.getFloat("dps");
            float   slowAmount   = message.getFloat("sa");

            if (ownerUser != null)
            {
                NailTrapAreaEffect areaEffect = new NailTrapAreaEffect(instanceId, ownerUser.player, new Vector3(position[0], position[1], position[2]), slowAmount, dmgPerSecond);
                Engine.Game.AddAreaEffect(areaEffect);
                Runner.Graphics.createAreaEffect(areaEffect);
            }
        }
Exemplo n.º 23
0
        public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
        {
            if (user.player != null && user.player.playerState == Player.PlayerState.ALIVE &&      // player hayatta mi
                (user.player.game.gameState == Science_Wars_Server.Game.GameState.PLAYTIME ||      // oyun playtime da mi
                 user.player.game.gameState == Science_Wars_Server.Game.GameState.STARTCOUNTDOWN)) // oyun startcountdownda mi
            {
                int newTowerTypeId = message.getInt("tid");
                int indexOnBoard   = message.getInt("iob");

                if (newTowerTypeId < 0 || user.unlockedTowers.Length < newTowerTypeId)  //typeId valid?
                {
                    return;
                }
                if (indexOnBoard < 0 || indexOnBoard > user.player.board.towers.Length - 1)  // indexOnBoard valid?
                {
                    return;
                }

                Tower oldTower = user.player.board.towers[indexOnBoard];
                if (oldTower == null)  // upgrade edilmek istenen noktada bir kule var mi. ( havayi mi upgrade edeceksin essoglu essek )
                {
                    return;
                }

                if (checkIfTowerUpgradableTo(TypeIdGenerator.getTowerId(oldTower.GetType()), TypeIdGenerator.getTowerType(newTowerTypeId)) == false)   // bu kule, istenen turdeki kuleye upgrade edilebilir mi?
                {
                    return;
                }

                if (user.unlockedTowers[newTowerTypeId] == true)  // bu kule unlocklanmis mi?
                {
                    Tower tower =
                        (Tower)
                        Activator.CreateInstance(TypeIdGenerator.getTowerType(newTowerTypeId), user.player.board,
                                                 indexOnBoard);

                    if (user.player.trySpendCash(tower.getCost()) && user.player.board.AddTower(tower, indexOnBoard))
                    {
                        OutgoingMessages.Game.GUpgradeTowerResult.sendMessage(user.player.game.players, tower, newTowerTypeId);
                        OutgoingMessages.Game.GCashAndIncomeInfo.sendMessage(user.player);
                    }
                }
            }
        }
Exemplo n.º 24
0
        public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
        {
            if (user.player != null && user.player.playerState == Player.PlayerState.ALIVE &&      // player hayatta mi
                (user.player.game.gameState == Science_Wars_Server.Game.GameState.PLAYTIME ||      // oyun playtime da mi
                 user.player.game.gameState == Science_Wars_Server.Game.GameState.STARTCOUNTDOWN)) // oyun startcountdownda mi
            {
                int typeId       = message.getInt("tid");
                int indexOnBoard = message.getInt("iob");

                if (typeId < 0 || user.unlockedTowers.Length < typeId)  //typeId valid?
                {
                    return;
                }
                if (indexOnBoard < 0 || indexOnBoard > user.player.board.towers.Length - 1)  // indexOnBoard valid?
                {
                    return;
                }

                if (checkScienceTypeOfTower(typeId, user.player.getScienceType()) == false) // player'in oyun basinda sectigi science'a ait bir kule mi bu?
                {
                    return;
                }

                if (user.unlockedTowers[typeId] == true && // bu kule unlocklanmis mi?
                    user.player.board.towers[indexOnBoard] == null)      // bu slotta baska kule var mi?
                {
                    Tower tower =
                        (Tower)
                        Activator.CreateInstance(TypeIdGenerator.getTowerType(typeId), user.player.board,
                                                 indexOnBoard);

                    if (user.player.trySpendCash(tower.getCost()) && user.player.board.AddTower(tower, indexOnBoard))
                    {
                        // STATCODE
                        PlayerStats pStats = user.player.game.statTracker.getPlayerStatsOfPlayer(user.player);
                        pStats.towersBuilt += 1;

                        OutgoingMessages.Game.GCreateTowerResult.sendMessage(user.player.game.players, tower);
                        OutgoingMessages.Game.GCashAndIncomeInfo.sendMessage(user.player);
                    }
                }
            }
        }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion minion = Engine.Game.getMinionById(message.getInt("iid"));

            if (minion != null && minion is QuantumSoldierMinion)
            {
                ((QuantumSoldierMinion)minion).teleport();
                Runner.Graphics.minion_quantumSoldier_teleport(minion);
            }

            int[] minionInstanceIDs = message.getIntArray("mids");
            float dist = message.getFloat("ds");

            for (int i = 0; i < minionInstanceIDs.Length; i++)
            {
                Minion minionToTp = Engine.Game.getMinionById(minionInstanceIDs[i]);
                minionToTp.moveCustomDistance(dist);
            }
        }
Exemplo n.º 26
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Tower tower = (Tower)System.Activator.CreateInstance(TypeIdGenerator.getTowerType(message.getInt("tid")));

            tower.indexOnBoard = message.getInt("iob");

            Board board = Assets.Scripts.Engine.Game.getBoardById(message.getInt("bid"));

            Tower oldTower = board.towers[tower.indexOnBoard];

            if (oldTower != null)
            {
                oldTower.destroyable = true;
            }

            if (board.AddTower(tower, tower.indexOnBoard))
            {
                Runner.Graphics.upgradeTower(tower);
            }
        }
Exemplo n.º 27
0
        public override void processMessage(NetWorker.Utilities.RawMessage message, User user)
        {
            if (user.userState == User.UserState.GAME && user.player != null)
            {
                user.player.loadedTheGame = true;

                bool allLoaded = true;

                foreach (var player in user.player.game.players)
                {
                    if (player.loadedTheGame == false)
                    {
                        allLoaded = false;
                        break;
                    }
                }

                if (allLoaded)
                {
                    user.player.game.setState(Science_Wars_Server.Game.GameState.STARTCOUNTDOWN);
                }
            }
        }
Exemplo n.º 28
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            float payment = message.getFloat("s");

            Engine.Game.setPaymentTime(payment);
        }
Exemplo n.º 29
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            float randomMinion = message.getFloat("s");

            Engine.Game.setRandomMinionTime(randomMinion);
        }
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            SeedTower ownerTower = (SeedTower)Engine.Game.getBoardById(message.getInt("bid")).towers[message.getInt("iob")];             //TODO check yapmak lazim bu indexler dogru mu, bu element null mi gelmis.

            ownerTower.seedCountInStack = message.getInt("sc");
        }