public MainContent(IGUIMessages receiver, NetworkWindow networkWin)
 {
     lobby = new LobbyWindow(receiver,networkWin);
     test = new TestWindow();
     networkWindow = networkWin;
     this.receiver = receiver;
 }
        private void JoinLobby(object parameter)
        {
            Guid            lobbyId         = (Guid)parameter;
            Lobby           lobbyToJoin     = _lobbyProxy.GetLobbyById(lobbyId);
            CustomPrincipal customPrincipal = Thread.CurrentPrincipal as CustomPrincipal;
            Guid            userId          = customPrincipal.Identity.Id;
            Account         account         = _accountProxy.FindById(userId);

            //check if its private
            //if (lobbyToJoin.pas)
            //{
            //    JoinLobbyPasswordDialog jlpd = new JoinLobbyPasswordDialog();
            //}
            if (_lobbyProxy.JoinLobby(userId, lobbyId) || ContainsAccount(userId, lobbyId))
            {
                LobbyWindow _lobbyWindow = new LobbyWindow(lobbyToJoin, _dashboardWindow);


                _lobbyWindow.Show();
                Lobbies     = _lobbyProxy.GetLobbies();
                IsJoined    = true;
                JoinedLobby = lobbyToJoin;
            }
            else
            {
                MessageBox.Show("You already joined a lobby", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
示例#3
0
        private void BuildCodeTree()
        {
            //models
            var timeModel = new TimeModel(new UpdateWatcher("Time Model"));

            var metaService = new MetaService(timeModel, new UpdateWatcher("Meta Service"), 2f);

            var metaModel = new MetaModel(timeModel, metaService, new UpdateWatcher("Meta Model"));

            var viewLayersModel = new LayersModel(new UpdateWatcher("Layers Model"));

            var assetsModel = new AssetsModel(AssetsConfiguration, new UpdateWatcher("Asset Model"));
            var phys        = new Models.Simulation.PhysicsScene("Sim1");

            var simModel = new SimulationModel(phys, assetsModel);

            var applicationModel = new ApplicationModel(metaModel, timeModel, viewLayersModel, simModel, assetsModel, new UpdateWatcher("Application Model"));

            var presenters = new List <IUpdateablePresenter>();

            //views
            var lobbyView         = new LobbyWindow(UiRoot);
            var loadingWindowView = new Loading(UiRoot);
            var gameWindowView    = new GameWindow(UiRoot);

            //presenters
            presenters.Add(new LoadingWindowPresenter(loadingWindowView, applicationModel));
            presenters.Add(new LobbyWindowPresenter(lobbyView, applicationModel));
            presenters.Add(new GameWindowPresenter(gameWindowView, applicationModel));

            //root
            _rootLoop = new ApplicationLoop(applicationModel, presenters);
        }
示例#4
0
 public MainContent(NetworkInterface nif, NetworkWindow networkWin)
 {
     lobby = new LobbyWindow(nif,networkWin);
     test = new TestWindow();
     networkWindow = networkWin;
     networkInterface = nif;
 }
示例#5
0
        private async void JoinMatch_Click(object sender, RoutedEventArgs e)
        {
            MatchDescriptor match = await _viewModel.JoinMatch();

            Window _lobbyWindow = new LobbyWindow(match)
            {
                Owner = this
            };

            _lobbyWindow.ShowDialog();
        }
示例#6
0
        public LobbyViewModel(string login)
        {
            _login             = login;
            Window             = new LobbyWindow();
            Window.DataContext = this;

            clientLogic = new ClientLogic();
            clientLogic.EstablishConnection(_login);

            clientLogic.Client.OnReceiveMessageEvent += ReceivedMessageFromClient;

            GameTypes = ((GameType[])Enum.GetValues(typeof(GameType))).ToList();
        }
示例#7
0
 public void EnterToLobby()
 {
     if (m_kLobbyWindow == null)
     {
         m_kLobbyWindow = OpenUI <LobbyWindow> () as LobbyWindow;
     }
     m_kLobbyWindow.Show();
     m_kLobbyWindow.OnShow();
     if (m_kStartWindow != null)
     {
         m_kStartWindow.Hide();
     }
 }
示例#8
0
        private async void HostMatch_Click(object sender, RoutedEventArgs e)
        {
            if (_viewModel.ValidateOptions())
            {
                MatchDescriptor match = await _viewModel.HostMatch();

                Window _lobbyWindow = new LobbyWindow(match)
                {
                    Owner = this
                };
                _lobbyWindow.ShowDialog();
            }
            else
            {
                MessageBox.Show("Please check the game settings.", "Error");
            }
        }
示例#9
0
        public override void Add(ScreenManager screenManager)
        {
            base.Add(screenManager);
            Client.State = GameState.Lobby;

            imgBackground = new ImageBox(Manager)
            {
                Image    = Client.Content["gui.background"],
                SizeMode = SizeMode.Stretched
            };
            imgBackground.SetSize(Window.Width, Window.Height);
            imgBackground.SetPosition(0, 0);
            imgBackground.Init();
            Window.Add(imgBackground);

            // Add the login window
            wndLobby = new LobbyWindow(Manager, this);
            wndLobby.Init();
            Window.Add(wndLobby);
            wndLobby.Show();
        }
        private void OpenLobby(object parameter)
        {
            Guid            lobbyId         = (Guid)parameter;
            Lobby           lobbyToOpen     = _lobbyProxy.GetLobbyById(lobbyId);
            CustomPrincipal customPrincipal = Thread.CurrentPrincipal as CustomPrincipal;
            Guid            userId          = customPrincipal.Identity.Id;
            Account         account         = _accountProxy.FindById(userId);

            //TODO: Check if private and do whatever from there
            if (ContainsAccount(userId, lobbyId))
            {
                LobbyWindow _lobbyWindow = new LobbyWindow(lobbyToOpen, _dashboardWindow);

                _lobbyWindow.Show();
                Lobbies = _lobbyProxy.GetLobbies();
            }
            else
            {
                MessageBox.Show("You already joined a lobby", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }