public MultiPlayerBoardView()
        {
            gameOver        = false;
            gameStarted     = false;
            swappedThisTurn = false;
            interval        = 1000;
            level           = 1;
            clearedRows     = 0;
            score           = 0;
            levelThreshhold = 500;
            countDown       = 4;
            tetreminoTypes  = Enum.GetValues(typeof(Tetremino));
            rand            = new Random((int)DateTime.Now.Ticks * ClientManager.Instance.MyID);
            cell            = new Label[col, row];
            eventTimer      = new Timer();
            encoderTimer    = new Timer();

            myEvents     = EventAggregatorModel.Instance;
            audioManager = AudioManagerModel.Instance;

            myEvents.getAggregator().Subscribe(this);
            audioManager.PauseTheme();

            eventTimer.Elapsed += new ElapsedEventHandler(GameLoop);
            eventTimer.Interval = interval;
            eventTimer.Start();

            encoderTimer.Elapsed += new ElapsedEventHandler(EncodeGrid);
            encoderTimer.Interval = 50;

            InitializeComponent();
            SetupBoard();
        }
        /// <summary>Initializes a new instance of the <see cref="MultiPlayerMenuViewModel" /> class.</summary>
        /// <param name="_mainWindow">The main window.</param>
        /// <param name="isReconnect">if set to <c>true</c> [is reconnect].</param>
        public MultiPlayerMenuViewModel(MainViewModel _mainWindow, bool isReconnect)
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            mainWindow     = _mainWindow;
            clientManager  = ClientManager.Instance;
            server         = new ServerViewModel();
            ConnectEnabled = "True";
            PlayingAs      = Properties.Settings.Default.Name;
            InputIP        = Properties.Settings.Default.LastConnected;

            mainWindow.SetBackground = BACKGROUND_SETTINGS;
            mainWindow.SetShade      = .5;

            this.Items.Add(server);

            ActivateItem(server);

            if (isReconnect)
            {
                InputIP = Properties.Settings.Default.LastConnected;
                AttemptReconnect();
            }
        }
        public StatisticsView()
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            InitializeComponent();
            InitializeBoards();
        }
Пример #4
0
        /// <summary>Initializes a new instance of the <see cref="StatisticsViewModel" /> class.</summary>
        public StatisticsViewModel()
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            dispScore = 0;
            dispLevel = 1;
        }
        /// <summary>Prevents a default instance of the <see cref="ClientManager" /> class from being created.</summary>
        private ClientManager()
        {
            AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            IsConnected = false;
            Port        = 26950;
            tcp         = new TCP();
        }
        public MultiPlayerView()
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            background = new ImageBrush();
            border     = new ImageBrush();
            background = BACKGROUND_TILE;
            border     = BORDER_TILE;

            InitializeComponent();

            InitializeLists();
            MapPlayers();
            InitializeBoards();
        }
        /// <summary>Initializes a new instance of the <see cref="SinglePlayerViewModel" /> class.</summary>
        /// <param name="_mainWindow">The main window.</param>
        public SinglePlayerViewModel(MainViewModel _mainWindow)
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            mainWindow = _mainWindow;
            statistics = new StatisticsViewModel();
            gameWindow = new BoardViewModel();
            gameOver   = Visibility.Hidden;
            paused     = Visibility.Hidden;
            countDown  = Visibility.Visible;
            gameScore  = "0";

            this.Items.Add(statistics);
            this.Items.Add(gameWindow);
            ActivateItem(statistics);
            ActivateItem(gameWindow);
        }
        /// <summary>Initializes a new instance of the <see cref="MultiPlayerViewModel" /> class.</summary>
        /// <param name="_mainWindow">The main window.</param>
        public MultiPlayerViewModel(MainViewModel _mainWindow)
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            mainWindow = _mainWindow;
            statistics = new StatisticsViewModel();
            gameWindow = new MultiPlayerBoardViewModel();
            lost       = Visibility.Hidden;
            menu       = Visibility.Hidden;
            countDown  = Visibility.Visible;
            gameScore  = "0";

            mainWindow.SetBackground = BACKGROUND;
            mainWindow.SetShade      = .25;

            this.Items.Add(statistics);
            this.Items.Add(gameWindow);
            ActivateItem(statistics);
            ActivateItem(gameWindow);
        }
        /// <summary>Initializes a new instance of the <see cref="ServerViewModel" /> class.</summary>
        public ServerViewModel()
        {
            myEvents = EventAggregatorModel.Instance;
            myEvents.getAggregator().Subscribe(this);

            ServerAddress = "???";
            Status        = "OFFLINE";
            StatusColor   = "Red";
            NumPlayers    = "n/a";
            ReadyEnabled  = "True";
            CreateEnabled = "True";

            WindowVisibility = ConstantsModel.HIDDEN;
            ServerVisibility = ConstantsModel.HIDDEN;
            LobbyVisibility  = ConstantsModel.HIDDEN;

            eventTimer          = new Timer();
            eventTimer.Elapsed += new ElapsedEventHandler(UpdateLists);
            eventTimer.Interval = 150;
            eventTimer.Start();

            InitializeLists();
        }