private void stage4_Click8(object sender, RoutedEventArgs e) { String heroName = "김두환.png"; //불러올 위인이미지를 적어준다. String storyName = "./Story/Stage4/Stage4-8.txt"; //불러올 Stage의 파일을 적어준다. StageAnimation1_1 ani = new StageAnimation1_1(heroName, storyName); MainMenu.getInstance().frame.Navigate(ani); }
private void Phase2_Click(object sender, RoutedEventArgs e) { String heroName = "dongmyung.png"; //불러올 위인이미지를 적어준다. String storyName = "./Story/Stage1/Stage1-2.txt"; //불러올 Stage의 파일을 적어준다. StageAnimation1_1 ani = new StageAnimation1_1(heroName, storyName); MainMenu.getInstance().frame.Navigate(ani); }
// 생성된 방 버튼을 클릭 -> 방 조인!!! void roomButton_Click(object sender, RoutedEventArgs e) { MainMenu.getInstance().Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { Console.WriteLine("버튼클릭해서 마스터 아이디 넘기기전 확인 : " + ((Button)sender).Name); // 방 마스터 아이디 확인 ReadyRoom readyRoom = new ReadyRoom(userID, ((Button)sender).Name); // 레디룸 생성 후 조인 MainMenu.getInstance().frame.Content = readyRoom; })); }
private void websocket_Error(object sender, ErrorEventArgs e) { websocket.Send("socketClose?" + userID); MainMenu.getInstance().Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { MainMenu.getInstance().frame.Content = menu; })); Console.WriteLine("우짜쓰까"); MessageBox.Show("서버가 닫혀 있습니다."); }
private void Stag_Select() { MemberDataContext mem = new MemberDataContext(); MyMessageBox myMessageBox = new MyMessageBox(); var innerJoinQuery = from Members in mem.Member join Information in mem.MemberGameInformation on Members.MemberName equals Information.MemberName where Information.MemberName == Player.getInstance().getID() select Information; //DB의 유저의 쫄 카드 정보 받아와서 Card객체 만들고 DeckList에 삽입 foreach (var item in innerJoinQuery) { Stage = (int)item.GameStage; Phase = (int)item.GamePhase; } //MessageBox.Show("현재 "+ UserID + " 님의 게임 진행 상황은 Stage " + Stage + " - " + Phase + " 를 진행 중 입니다."); myMessageBox.SetText = "현재 " + UserID + " 님의 게임 진행 상황은 Stage " + Stage + " - " + Phase + " 를 \n진행 중 입니다."; myMessageBox.ShowDialog(); SamGookStageSelect samgookStageSelect = new SamGookStageSelect(); switch (Stage) { case 1: MainMenu.getInstance().frame.Navigate(samgookStageSelect); break; case 2: GoruelStageSelect goruelStageSelect = new GoruelStageSelect(); MainMenu.getInstance().frame.Navigate(goruelStageSelect); break; case 3: ChosenStageSelect chosenStageSelect = new ChosenStageSelect(); MainMenu.getInstance().frame.Navigate(chosenStageSelect); break; case 4: DarkageStageSelect darkageStageSelect = new DarkageStageSelect(); MainMenu.getInstance().frame.Navigate(darkageStageSelect); break; default: MainMenu.getInstance().frame.Navigate(samgookStageSelect); break; } }
private void Phase1_Click(object sender, RoutedEventArgs e) { //테스트 코드 //CardInfo(); 단군 String heroName = "dangoon.png"; //불러올 위인이미지를 적어준다. String storyName = "./Story/Stage1/Stage1-1.txt"; //불러올 Stage의 파일을 적어준다. StageAnimation1_1 ani = new StageAnimation1_1(heroName, storyName); MainMenu.getInstance().frame.Navigate(ani); /*SamGookStage1 samgookstage1 = new SamGookStage1(); * MainMenu.getInstance().WindowState = WindowState.Maximized; * MainMenu.getInstance().frame.Navigate(samgookstage1);*/ }
private void play_Click(object sender, RoutedEventArgs e) { if (check == true) { myface_save(); SamGookStageSelect stageSel = new SamGookStageSelect(); MainMenu.getInstance().frame.Content = stageSel; this.Close(); } else { MyMessageBox messagebox = new MyMessageBox(); messagebox.SetText = ("얼굴을 만들어주세요."); messagebox.ShowDialog(); } }
private void button2_Click(object sender, RoutedEventArgs e) { var queryMember = from cust in mem.Member where cust.MemberName == textBox2.Text select cust; foreach (var item in queryMember) { if (item.MemberPassword == textBox1.Text) { Test test = new Test(); test.SetText = "확인되었습니다. "; test.SetText = "게임을 시작합니다."; test.ShowDialog(); //MessageBox.Show("확인되었습니다. 게임을 시작 합니다."); if (test.DialogResult == true) { maimenu = MainMenu.getInstance(); Menu menu = new Menu(); maimenu.Activate(); this.Close(); if (maimenu.ShowActivated == true) { UserID = textBox2.Text; player.setID(UserID); maimenu.UserID = UserID; maimenu.Show(); } } } else { MyMessageBox message = new MyMessageBox(); message.SetText = "ID나 비밀번호를 다시 확인해 주세요."; message.ShowDialog(); } } }
private void network_Click(object sender, RoutedEventArgs e) { WaittingRoom waittingRoom = new WaittingRoom(); MainMenu.getInstance().frame.Content = waittingRoom; }
private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { string[] cmds = e.Message.Split('?'); // 수신된 스트링 메시지 ?토큰으로 구분해서 저장 switch (cmds[0]) { case "updateUserInfo": // access 될때마다 업데이트 된 유저 정보를 서버로 부터 반환 받는다.. userInfoList = JsonConvert.DeserializeObject <List <UserInfo> >(cmds[1]); // 여기서 중요한 건 대기방에 있는 사용자와 준비방에 있는 사용자를 구분해서 뿌려줘야 하니까... 분리작업!! waittingRoomUserInfoList = new List <UserInfo>(); foreach (var user in userInfoList) // 반환받은 유저리스트에서 준비방에 있지 않는 유저만 따로 분리 { if (user.joinRoomNum == 0) // 룸번호가 0번 이라는 뜼은 조인한 방이 없다는 뜻이므로 대기방에 있는 사용자 { waittingRoomUserInfoList.Add(user); } } roomCanvas.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { if (cmds[2] != "") // 생성된 방이 있다면 { roomInfoList = JsonConvert.DeserializeObject <List <RoomInfo> >(cmds[2]); // 방 리스트 변환 for (int i = 0; i < 4; i++) { string targetGridName = "room" + (i + 1); Grid desti = (Grid)roomCanvas.FindName(targetGridName); desti.Children.Clear(); } for (int i = 0; i < roomInfoList.Count; i++) // 방 개수만큼 동적생성 { Console.WriteLine("도란나 방생성안되노"); string targetGridName = "room" + (i + 1); Grid desti = (Grid)roomCanvas.FindName(targetGridName); Button roomButton = new Button(); if (roomInfoList[i].isPlay == false) { roomButton.Background = new ImageBrush(new BitmapImage(new Uri("대기방_준비.png", UriKind.Relative))); } else if (roomInfoList[i].isPlay == true) { roomButton.Background = new ImageBrush(new BitmapImage(new Uri("대기방_시작.png", UriKind.Relative))); } roomButton.Name = roomInfoList[i].roomMasterID; roomButton.Click += new RoutedEventHandler(roomButton_Click); desti.Children.Add(roomButton); } } Console.WriteLine("유저수는=" + userInfoList.Count); //대기실에 있는 사용자만 골라서 뿌려주기.... UserList.Text = null; foreach (UserInfo user in waittingRoomUserInfoList) { UserList.Text += user.userID + "\n"; } })); break; //클라이언트에서 createRoom 요청 날리고 서버에서 방정보를 업데이트하고 결과를 반환한 newRoom 헤더 메세지 // 근데 중요한건 대기방에 있는 사용자들에게만 동적 방생성이 적용되도록 해야함.. // 준비방에 들어가있거나 게임 하고 있는 세션 사용자들에게까지 동적 방생성 코드를 실행하게 하니까... 터짐!!!! case "newRoom": roomMasterID = cmds[2]; // 방장아이디 가져옴 userInfoList = JsonConvert.DeserializeObject <List <UserInfo> >(cmds[4]); // 여기서 중요한 건 대기방에 있는 사용자와 준비방에 있는 사용자를 구분해서 뿌려줘야 하니까... 분리작업!! waittingRoomUserInfoList = new List <UserInfo>(); foreach (var user in userInfoList) // 반환받은 유저리스트에서 준비방에 있지 않는 유저만 따로 분리 { if (user.joinRoomNum == 0) // 룸번호가 0번 이라는 뜻은 조인한 방이 없다는 뜻이므로 대기방에 있는 사용자 { waittingRoomUserInfoList.Add(user); } } // 업데이트된 방 정보를 받는데... 그 방을 생성한 사람이 본인이면 준비룸 생성 후 대기... if (userID.Equals(roomMasterID)) { MainMenu.getInstance().Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { Console.WriteLine("새방만들기전 마스터아이디 확인 : " + roomMasterID); ReadyRoom readyRoom = new ReadyRoom(userID, roomMasterID); MainMenu.getInstance().frame.Content = readyRoom; })); } else { //대기실에 있는 사용자만 골라서 뿌려주기.... roomCanvas.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { UserList.Text = null; foreach (UserInfo user in waittingRoomUserInfoList) { UserList.Text += user.userID + "\n"; } if (cmds[2] != "") // 생성된 방이 있다면 { roomInfoList = JsonConvert.DeserializeObject <List <RoomInfo> >(cmds[3]); // 방 리스트 변환 for (int i = 0; i < roomInfoList.Count; i++) // 방 개수만큼 동적생성 { Console.WriteLine("도란나 방생성안되노"); string targetGridName = "room" + (i + 1); Grid desti = (Grid)roomCanvas.FindName(targetGridName); Button roomButton = new Button(); if (roomInfoList[i].isPlay == true) { roomButton.Background = new ImageBrush(new BitmapImage(new Uri("대기방_시작.png", UriKind.Relative))); } else { roomButton.Background = new ImageBrush(new BitmapImage(new Uri("대기방_준비.png", UriKind.Relative))); } TextBlock roomMaster = new TextBlock(); roomMaster.Text = roomMasterID; // 방장 아이디 보여주고 TextBlock roomUserNum = new TextBlock(); roomUserNum.Text = roomInfoList[i].joinUserNum.ToString() + " / 2"; // 몇명있는지 보여주고 roomMaster.FontSize = 11; roomMaster.Foreground = Brushes.Red; roomMaster.FontWeight = FontWeights.Bold; roomUserNum.FontSize = 11; roomUserNum.Foreground = Brushes.Red; roomUserNum.FontWeight = FontWeights.Bold; roomButton.Name = roomInfoList[i].roomMasterID; roomButton.Click += new RoutedEventHandler(roomButton_Click); desti.Children.Add(roomMaster); desti.Children.Add(roomUserNum); desti.Children.Add(roomButton); } } })); } break; case "updateReadyRoomRes": roomInfoList = JsonConvert.DeserializeObject <List <RoomInfo> >(cmds[2]); roomCanvas.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { if (roomInfoList != null) // 방이 0개가 아니라면 { for (int i = 0; i < roomInfoList.Count; i++) // 방 개수만큼 동적생성 { Console.WriteLine("도란나 방생성안되노"); string targetGridName = "room" + (i + 1); Grid desti = (Grid)roomCanvas.FindName(targetGridName); Button roomButton = new Button(); roomButton.Name = roomInfoList[i].roomMasterID; roomButton.Click += new RoutedEventHandler(roomButton_Click); desti.Children.Add(roomButton); } } })); break; case "guestJoinOK": userInfoList = JsonConvert.DeserializeObject <List <UserInfo> >(cmds[1]); roomCanvas.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { UserList.Text = null; foreach (var user in userInfoList) // 반환받은 유저리스트에서 준비방에 있지 않는 유저만 따로 분리 { if (user.joinRoomNum == 0) // 룸번호가 0번 이라는 뜻은 조인한 방이 없다는 뜻이므로 대기방에 있는 사용자 { UserList.Text += user.userID + "\n"; } } })); break; case "WaittingChat": Output.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { Output.Text += cmds[2] + ": " + cmds[1] + "\n"; })); break; } }
private void SamGook_Click(object sender, RoutedEventArgs e) { SamGookStageSelect samGookStageSelect = new SamGookStageSelect(); MainMenu.getInstance().frame.Navigate(samGookStageSelect); }
private void Backward_Click(object sender, RoutedEventArgs e) { ChosenStageSelect chosenStageSelect = new ChosenStageSelect(); MainMenu.getInstance().frame.Navigate(chosenStageSelect); }
private void button1_Click(object sender, RoutedEventArgs e) { SetCardDeck setCardDeck = new SetCardDeck(); MainMenu.getInstance().frame.Navigate(setCardDeck); }
private void Forward_Click(object sender, RoutedEventArgs e) { GoruelStageSelect goruelStageSelect = new GoruelStageSelect(); MainMenu.getInstance().frame.Navigate(goruelStageSelect); }
private void Forward_Click(object sender, RoutedEventArgs e) { DarkageStageSelect darkageStageSelect = new DarkageStageSelect(); MainMenu.getInstance().frame.Navigate(darkageStageSelect); }
private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { Console.WriteLine("머가 오긴오나??"); string[] cmds = e.Message.Split('?'); switch (cmds[0]) { case "enemyJoin": Enemy_Control.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { //Enemy_Control.Background += msg + "\n"; Console.WriteLine("enemyJoin메세지중" + cmds[1]); Enemy_ID.Text = cmds[1]; enemyID = cmds[1]; enemyFace(); })); break; case "enemyReady": break; case "joinRoomOK": Enemy_Control.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { //Enemy_Control.Background += msg + "\n"; Console.WriteLine("enemyJoin메세지중" + cmds[1]); Enemy_ID.Text = cmds[1]; enemyID = cmds[1]; enemyFace(); ReadyButton.Visibility = Visibility.Visible; })); break; case "go": MainMenu.getInstance().Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { Console.WriteLine("userID=" + userID); Console.WriteLine("enemyID=" + enemyID); PlayNetworkGame playNetworkGame = new PlayNetworkGame(userID, cmds[1], cmds[2]); MainMenu.getInstance().WindowState = WindowState.Maximized; MainMenu.getInstance().frame.Content = playNetworkGame; })); break; case "startButton": ReadyRoomCanvas.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { StartButton.Visibility = Visibility.Visible; })); break; case "ReadyRoomChat": Output.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { Output.Text += cmds[2] + ": " + cmds[1] + "\n"; })); break; } }