void Update() { if (isPlayer && isLive) { if (proper == PROPER.POLICE) { SGameMng.I.uiScrp.GetSkill(nhp.ToString()); } Blind(); if (!bStartup) { KeyDown(); } else { KeyDown(); } if (myMove != beforeMove && !bStartup) { GM.NetworkManager.getInstance.SendMsg(string.Format("MOVE:{0}:{1}:{2}:{3}", myIdx, transform.position.x, transform.position.y, (int)myMove)); beforeMove = myMove; } if (Input.GetKeyDown(KeyCode.Space) && proper.Equals(PROPER.POLICE) && !isSkill && !bStartup) { if (nhp <= 1) { GM.NetworkManager.getInstance.SendMsg(string.Format("DIE:{0}:{1}", myIdx, myIdx)); Debug.Log("죽은놈" + myIdx); Debug.Log("죽인놈" + myIdx); isLive = false; } else { GM.NetworkManager.getInstance.SendMsg(string.Format("ATTACK:{0}", myIdx)); } //Attack(); Debug.Log("attack down"); } WatchScrp.Move(this.transform); } if (gameObject.tag.Equals("Police") && bStartup) { myMove = 0; } else { Move(); } }
/** * brief 패킷 분석 * param len 길이 */ private void ParsePacket(int len) { string msg = Encoding.UTF8.GetString(userData.buf, 2, len - 2); string[] txt = msg.Split(':'); // 암호를 ':' 로 분리해서 읽음 //Console.WriteLine(msg); /************* 기능이 추가되면 덧붙일 것 ***************/ if (txt[0].Equals("MOVE")) { int idx = int.Parse(txt[1]); posX = float.Parse(txt[2]); posY = float.Parse(txt[3]); myMove = (MOVE_CONTROL)int.Parse(txt[4]); Move(idx); if (proper.Equals(PROPER.THIEF)) { thiefActiveMass++; } } else if (txt[0].Equals("CHAT")) { Console.WriteLine("MSG"); Chat(txt[1], txt[2]); } else if (txt[0].Equals("KINEMATIC")) { for (int i = 0; i < Server.v_user.Count; i++) { Server.v_user[i].SendMsg(msg); } } else if (txt[0].Equals("ATTACK")) { Console.WriteLine("ATTACK"); Attack(int.Parse(txt[1])); policeActiveMass--; // 아직 모호함 } else if (txt[0].Equals("DIE")) { Die(int.Parse(txt[1]), int.Parse(txt[2])); } else if (txt[0].Equals("START")) { StartGame(); } else if (txt[0].Equals("LOGIN")) { nickName = txt[1]; Login(txt[2]); Console.WriteLine(txt[1] + " is Login."); } else if (txt[0].Equals("DISCONNECT")) { if (nickName.Length > 0) { Console.WriteLine(nickName + " is Logout."); Logout(); } userData.workSocket.Shutdown(SocketShutdown.Both); userData.workSocket.Close(); Server.RemoveUser(myIdx); if (Server.v_user.Count.Equals(0)) { timeCount = maxPlayTime; tmr.Stop(); for (int j = 0; j < Server.v_user.Count; j++) { Server.v_user[j].SendMsg(string.Format("DIE:{0}:{1}", myIdx, myIdx)); } } else { for (int j = 0; j < Server.v_user.Count; j++) { Server.v_user[j].SendMsg(string.Format("DIE:{0}:{1}", myIdx, myIdx)); } } } else { //!< 이 부분에 들어오는 일이 있으면 안됨 (패킷 실수) Console.WriteLine("Un Correct Message "); } }
public void OpenResult(PROPER whoWin, int mvpIdx) { if (whoWin.Equals(PROPER.POLICE)) { winnerThiefTxt.SetActive(false); winnerPoliceTxt.SetActive(true); } else { winnerThiefTxt.SetActive(true); winnerPoliceTxt.SetActive(false); } List <string> v_nickList = new List <string>(); int lIdx = 0; for (int i = 0; i < GM.NetworkManager.getInstance.v_user.Count; i++) { if (GM.NetworkManager.getInstance.v_user[i] != null) { if (GM.NetworkManager.getInstance.v_user[i].proper.Equals(whoWin)) { v_nickList.Add(GM.NetworkManager.getInstance.v_user[i].nickName); } if (GM.NetworkManager.getInstance.v_user[i].myIdx.Equals(mvpIdx)) { lIdx = v_nickList.Count - 1; } } } p_1.gameObject.SetActive(false); for (int i = 0; i < 2; i++) { p_2[i].gameObject.SetActive(false); } for (int i = 0; i < 3; i++) { p_3[i].gameObject.SetActive(false); } for (int i = 0; i < 4; i++) { p_4[i].gameObject.SetActive(false); } for (int i = 0; i < 5; i++) { p_5[i].gameObject.SetActive(false); } for (int i = 0; i < 6; i++) { p_6[i].gameObject.SetActive(false); } if (v_nickList.Count.Equals(1)) { p_1.gameObject.SetActive(true); p_1.gameObject.GetComponentInChildren <UnityEngine.UI.Text>().text = v_nickList[0]; mvpObj.transform.position = p_1.gameObject.transform.position; StartCoroutine("mvpOpen", 1.6f); } else if (v_nickList.Count.Equals(2)) { for (int i = 0; i < 2; i++) { p_2[i].gameObject.SetActive(true); p_2[i].gameObject.GetComponentInChildren <UnityEngine.UI.Text>().text = v_nickList[i]; } mvpObj.transform.position = p_2[lIdx].gameObject.transform.position; StartCoroutine("mvpOpen", 1.75f); } else if (v_nickList.Count.Equals(3)) { for (int i = 0; i < 3; i++) { p_3[i].gameObject.SetActive(true); p_3[i].gameObject.GetComponentInChildren <UnityEngine.UI.Text>().text = v_nickList[i]; } mvpObj.transform.position = p_3[lIdx].gameObject.transform.position; StartCoroutine("mvpOpen", 1.9f); } else if (v_nickList.Count.Equals(4)) { for (int i = 0; i < 4; i++) { p_4[i].gameObject.SetActive(true); p_4[i].gameObject.GetComponentInChildren <UnityEngine.UI.Text>().text = v_nickList[i]; } mvpObj.transform.position = p_4[lIdx].gameObject.transform.position; StartCoroutine("mvpOpen", 2.05f); } else if (v_nickList.Count.Equals(5)) { for (int i = 0; i < 5; i++) { p_5[i].gameObject.SetActive(true); p_5[i].gameObject.GetComponentInChildren <UnityEngine.UI.Text>().text = v_nickList[i]; } mvpObj.transform.position = p_5[lIdx].gameObject.transform.position; StartCoroutine("mvpOpen", 2.2f); } else if (v_nickList.Count.Equals(6)) { for (int i = 0; i < 6; i++) { p_6[i].gameObject.SetActive(true); p_6[i].gameObject.GetComponentInChildren <UnityEngine.UI.Text>().text = v_nickList[i]; } mvpObj.transform.position = p_6[lIdx].gameObject.transform.position; StartCoroutine("mvpOpen", 2.35f); } resultAnim.SetTrigger("RESULT"); }