private void ReceivedStartGameResponseMsg(NetIncomingMessage msg)
        {
            Player leftPlr  = players.Find(p => p.IsActivePlayer() && p.GetPosition() == PlayerPosition.LEFT);
            Player rightPlr = players.Find(p => p.IsActivePlayer() && p.GetPosition() == PlayerPosition.RIGHT);

            InitStaticMouse();
            //InitAutomaticMineLauncher();
            AlertMessageMgr.InitElement();
            App.Instance.SetGameStarted(true);

            foreach (Player p in players)
            {
                p.Statistics.Reset();
                CreateActiveObjectsOfPlayer(p);
            }

            if (lastTournamentSettings != null)
            {
                lastTournamentSettings.PlayedMatches++;
            }

            Invoke(new Action(() =>
            {
                if (leftPlr != null)
                {
                    Label lbl3 = (Label)LogicalTreeHelper.FindLogicalNode(area.Parent, "lblNameLeft");
                    if (lbl3 != null)
                    {
                        lbl3.Content = leftPlr.Data.Name;
                    }
                }

                if (rightPlr != null)
                {
                    Label lbl4 = (Label)LogicalTreeHelper.FindLogicalNode(area.Parent, "lblNameRight");
                    if (lbl4 != null)
                    {
                        lbl4.Content = rightPlr.Data.Name;
                    }
                }
            }));

            /*if (currentPlayer.IsActivePlayer())
             *  ShowStatusText(3, "You are on the " + (currentPlayer.GetPosition() == PlayerPosition.LEFT ? "left" : "right"));
             * else
             *  ShowStatusText(3, "You are Spectator");*/

            SetMainInfoText("");
            userActionsDisabled = false;

            Application.Current.Dispatcher.BeginInvoke(new Action(() => {
                App.Instance.FocusWindow();
            }));
        }
Esempio n. 2
0
        private void ProcessIncomingDataMessage(NetIncomingMessage msg)
        {
            PacketType type = (PacketType)msg.ReadInt32();

            Logger.Debug("Client " + GetCurrentPlayer().GetId() + ": received msg " + type.ToString());
            switch (type)
            {
            case PacketType.ALL_PLAYER_DATA:
                ReceivedAllPlayerDataMsg(msg);
                break;

            case PacketType.ALL_ASTEROIDS:
                ReceivedAllAsteroidsMsg(msg);
                break;

            case PacketType.NEW_ASTEROID:
                ReceivedNewAsteroidMsg(msg);
                break;

            case PacketType.MINOR_ASTEROID_SPAWN:
                ReceivedMinorAsteroidSpawnMsg(msg);
                break;

            case PacketType.NEW_STAT_POWERUP:
                ReceivedNewStatPowerupMsg(msg);
                break;

            case PacketType.NEW_SINGULARITY_MINE:
                ReceivedNewSingularityMineMsg(msg);
                break;

            case PacketType.NEW_SINGULARITY_BULLET:
                ReceivedNewSingularityBulletMsg(msg);
                break;

            case PacketType.NEW_SINGULARITY_EXPLODING_BULLET:
                ReceivedNewSingularityExplodingBulletMsg(msg);
                break;

            case PacketType.NEW_SINGULARITY_BOUNCING_BULLET:
                ReceivedNewSingularityBouncingBulletMsg(msg);
                break;

            case PacketType.NEW_HOOK:
                ReceivedNewHookMsg(msg);
                break;

            case PacketType.SCORE_QUERY:
                ReceivedScoreQueryMsg(msg);
                break;

            case PacketType.PLAYER_WON:
                ReceivedPlayerWonMsg(msg);
                break;

            case PacketType.SINGULARITY_MINE_HIT:
                ReceivedSingularityMineHitMsg(msg);
                break;

            case PacketType.HOOK_HIT:
                ReceivedHookHitMsg(msg);
                break;

            case PacketType.HOOK_FORCE_PULL:
                ReceivedHookForcePullMsg(msg);
                break;

            case PacketType.BULLET_HIT:
                ReceivedBulletHitMsg(msg);
                break;

            case PacketType.REMOVE_OBJECT:
                ReceiveRemoveObject(msg);
                break;

            case PacketType.BASE_INTEGRITY_CHANGE:
                ReceivedBaseIntegrityChangeMsg(msg);
                break;

            case PacketType.PLAYER_HEAL:
                ReceivedPlayerHealMsg(msg);
                break;

            case PacketType.PLAYER_SCORE_AND_GOLD:
                ReceivedPlayerAndGoldScoreMsg(msg);
                break;

            case PacketType.START_GAME_RESPONSE:
                ReceivedStartGameResponseMsg(msg);
                break;

            case PacketType.TOURNAMENT_STARTING:
                ReceivedTournamentStartingMsg(msg);
                break;

            case PacketType.TOURNAMENT_FINISHED:
                ReceivedTournamentFinishedMgs(msg);
                break;

            case PacketType.PLAYER_READY:
                ReceivedPlayerReadyMsg(msg);
                break;

            case PacketType.PLAYER_RECONNECTED:
                ReceivedPlayerReconnectedMsg(msg);
                break;

            case PacketType.TOURNAMENT_SETTINGS:
                ReceivedTournamentSettingsMsg(msg);
                break;

            case PacketType.CHAT_MESSAGE:
                ShowChatMessage(msg.ReadString());
                break;

            case PacketType.PLAYER_DISCONNECTED:
                ReceivedPlayerDisconnectedMsg(msg);
                break;

            case PacketType.SERVER_SHUTDOWN:
                ReceivedServerShuttingDownMsg(msg);
                break;

            case PacketType.PLAYER_RECEIVED_POWERUP:
                ReceivedPlayerReceivedPowerUpMsg(msg);
                break;

            case PacketType.PLAYER_BOUGHT_UPGRADE:
                ReceivedPlayerBoughtUpgradeMsg(msg);
                break;

            case PacketType.FLOATING_TEXT:
                ReceivedFloatingTextMsg(msg);
                break;

            case PacketType.PLAY_SOUND:
                SoundManager.Instance.ReadSoundMessage(msg);
                break;

            case PacketType.MOVE_STATE_CHANGED:
                ChangeMoveState(msg);
                break;

            case PacketType.MINING_MODULE_DMG_TAKEN:
                ReceiveModuleDamage(msg);
                break;

            case PacketType.ASTEROIDS_DIRECTIONS_CHANGE:
                ReceiveAsteroidsDirectionChange(msg);
                break;

            case PacketType.PLAYER_SCORE_UPDATE:
                ReceivedPlayerScoreUpdate(msg);
                break;

            case PacketType.OBJECTS_TAKE_DAMAGE:
                ReceiveObjectsDamage(msg);
                break;

            case PacketType.OBJECTS_HEAL_AMOUNT:
                ReceiveObjectsHeal(msg);
                break;

            case PacketType.MODULE_COLOR_CHANGE:
                ReceiveModuleColorChange(msg);
                break;

            case PacketType.PLAYER_COLOR_CHANGED:
                ReceivePlayerColorChange(msg);
                break;

            case PacketType.SPECTATOR_ACTION_START:
                ReceivedSpectatorActionStarted(msg);
                break;

            case PacketType.SHOW_ALLERT_MESSAGE:
                AlertMessageMgr.ReceiveShowMessage(msg);
                break;

            case PacketType.SCHEDULE_SPECTATOR_ACTION:
                ReceivedActionScheduleMsg(msg);
                break;

            case PacketType.PARTICLE_EMMITOR_CREATE:
                ReceivedEmmitorSpawn(msg);
                break;

            case PacketType.PARTICLE_EMMITOR_START:
                ReceivedEmmitorSpawn(msg);
                break;

            case PacketType.SHAKING_START:
                ReceivedShakingStart(msg);
                break;

            case PacketType.PLAYER_READY_CHECK:
                ReceivedPlayerReadyCheck();
                break;

            default:
                Logger.Warn("Received unhandled packet type: " + type);
                break;
            }
        }
Esempio n. 3
0
 public void CreateTextMessage(string message)
 {
     AlertMessageMgr.Show(message, AlertMessageManager.TIME_INFINITE);
 }