IEnumerator UpdateFromNetwork() { while (true) { byte[] tBuffer = new byte[1024]; int tRecvSize = Class_NetworkClient.GetInst().GetFromQueue(ref tBuffer, tBuffer.Length); if (tRecvSize > 0) { PROTOCOL tProtocolID = 0; tProtocolID = (PROTOCOL)tBuffer[0]; switch (tProtocolID) { case PROTOCOL.ACK_LOGIN: { Debug.Log("ACK_LOGIN"); SceneManager.LoadScene("RoomSelectScene"); SceneManager.LoadScene("AllPlayScene", LoadSceneMode.Additive); } break; case PROTOCOL.ACK_QUIT_GAME: { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } break; } } yield return(new WaitForSeconds(0.05f)); } }
void Awake() { mpReceiveWizard = this.GetComponentInChildren <Class_ReceiveWizard>(); mpReceiveWarrior = this.GetComponentInChildren <Class_ReceiveWarrior>(); mpWizard = this.GetComponentInChildren <Class_Wizard>(); mpWarrior = this.GetComponentInChildren <Class_Warrior>(); mpPlayerUI = this.GetComponentInChildren <Class_PlayerUI>(); mpReceivePlayerUI = this.GetComponentInChildren <Class_ReceivePlayerUI>(); Destroy(mpPlayerUI); string tOtherPlayerOccupation = ""; foreach (var u in Class_NetworkClient.GetInst().mUserInfoes) { if (u.mUserName != Class_NetworkClient.GetInst().mMyUserInfo.mUserName) { tOtherPlayerOccupation = u.mOccupation; } } if (tOtherPlayerOccupation == "Warrior") { Destroy(mpReceiveWizard.gameObject); Destroy(mpWarrior); } else { Destroy(mpReceiveWarrior.gameObject); Destroy(mpWizard); } }
public void OnClickBtnLogin() { Class_Singleton_Sound.GetInst().Play("ClickSound_2"); mIdComment = InputId.text; mPasswordComment = InputPassword.text; tUser.mUserName = mIdComment; byte[] tBuffer = new byte[1024]; byte tProtocolID = (byte)PROTOCOL.REQ_LOGIN; byte tIdLength = (byte)mIdComment.Length; byte[] tId = Encoding.UTF8.GetBytes(mIdComment); byte tPasswordLength = (byte)mPasswordComment.Length; byte[] tPassword = Encoding.UTF8.GetBytes(mPasswordComment); tBuffer[0] = tProtocolID; tBuffer[1] = tIdLength; tId.CopyTo(tBuffer, 2); tBuffer[tBuffer[1] + 2] = tPasswordLength; tPassword.CopyTo(tBuffer, tBuffer[1] + 3); Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); }
void Update() { if (Class_NetworkClient.GetInst().mMyUserInfo.mMyTurn == true) { if (anim.GetBool("Attack") == false) { if (Mathf.Abs(mpPlayer.tHorizontal) > 0.0f || Mathf.Abs(mpPlayer.tVertical) > 0.0f) { anim.SetBool("Run", true); } else { anim.SetBool("Run", false); } } if (Input.GetKey(KeyCode.Space)) { mpPlayer.tSpace = 1; anim.SetBool("Run", false); anim.SetBool("Attack", true); } else { mpPlayer.tSpace = 0; anim.SetBool("Attack", false); } if (Class_NetworkClient.GetInst().mMyUserInfo.mHP <= 0) { anim.SetBool("Death", true); } } }
// Start is called before the first frame update void Start() { mpReceivePlayer = Class_NetworkClient.GetInst().mUserInfoes.Find(u => u.mUserName != Class_NetworkClient.GetInst().mMyUserInfo.mUserName); mpPlayerName.text = mpReceivePlayer.mUserName; MaxHp = mpReceivePlayer.mHP; }
void Awake() { mpItemSpawn = FindObjectOfType <Class_ItemSpawn>(); mpEnemySpawn = FindObjectOfType <Class_EnemyJon>(); mpPlayScene = FindObjectOfType <Class_PlayScene>(); mpWizard = this.GetComponentInChildren <Class_Wizard>(); mpWarrior = this.GetComponentInChildren <Class_Warrior>(); mpReceiveWizard = this.GetComponentInChildren <Class_ReceiveWizard>(); mpReceiveWarrior = this.GetComponentInChildren <Class_ReceiveWarrior>(); mpPlayerUI = this.GetComponentInChildren <Class_PlayerUI>(); mpReceivePlayerUI = this.GetComponentInChildren <Class_ReceivePlayerUI>(); Destroy(mpReceivePlayerUI); if (Class_NetworkClient.GetInst().mMyUserInfo.mOccupation == "Warrior") { Destroy(mpWizard.gameObject); Destroy(mpReceiveWarrior); } else { Destroy(mpWarrior.gameObject); Destroy(mpReceiveWizard); } }
private void OnApplicationQuit() { byte[] tBuffer = new byte[1024]; tBuffer[0] = (byte)PROTOCOL.REQ_QUIT_GAME; Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); }
public void SpawnEnemy() { mSpawn = true; int i, j; if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { for (i = -52; i <= -50; i++) { for (j = 45; j < 55; j++) { Class_Enemy tEnemy = Instantiate <Class_Enemy>(mEnemy, new Vector3(i, 0, j), Quaternion.identity); mEnemys.Add(tEnemy); j++; } i++; } } else { for (i = 33; i <= 35; i++) { for (j = 40; j < 50; j++) { Class_Enemy tEnemy = Instantiate <Class_Enemy>(mEnemy, new Vector3(j, 0, i), Quaternion.identity); j++; } i++; } } }
// Start is called before the first frame update void Start() { tFirstUser = Class_NetworkClient.GetInst().mUserInfoes.Find(f => f.mClearCount > 0); mpFirstUserInfoTxt.text = "1위 : <color='red'>" + tFirstUser.mUserName + "</color>\n직업 : <color='red'>" + tFirstUser.mOccupation + "</color>\n클리어 횟수 : <color='red'>" + tFirstUser.mClearCount + "</color>"; StartCoroutine("UpdateFromNetwork"); }
public static Class_NetworkClient GetInst() { if (mInstance == null) { mInstance = new Class_NetworkClient(); } return(mInstance); }
public void OnStageClear() { if (Class_NetworkClient.GetInst().mMyUserInfo.mMyTurn == true) { byte[] tBuffer = new byte[1024]; tBuffer[0] = (byte)PROTOCOL.REQ_TURN_OVER; Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); } }
public void OnClickBtnClick() { Class_Singleton_Sound.GetInst().Play("ClickSound_2"); Debug.Log("Game Clear"); Time.timeScale = 1.0f; byte[] tBuffer = new byte[1024]; tBuffer[0] = (byte)PROTOCOL.REQ_GAME_CLEAR; Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); }
public void OnClickBtnJoinRoom() { Class_Singleton_Sound.GetInst().Play("ClickSound_2"); byte[] tBuffer = new byte[1024]; byte tProtocolID = (byte)PROTOCOL.REQ_JOIN_ROOM; tBuffer[0] = tProtocolID; Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); }
// Start is called before the first frame update void Start() { mRoomName.text = "Master : " + Class_NetworkClient.GetInst().mRoomName; mMatserName.text = "RoomName : " + Class_NetworkClient.GetInst().mRoomMaster; StartCoroutine("UpdateFromNetwork"); if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { mReadyBtn.gameObject.SetActive(false); mGuestImg.gameObject.SetActive(false); } }
void OnTriggerEnter(Collider tCollider) { if (mpPlayer.tSpace == 1) { if (tCollider.CompareTag("TagEnemy")) { Class_Singleton_Sound.GetInst().Play("Damage"); tCollider.GetComponent <Class_Enemy>().DamageStart(); tCollider.GetComponent <Class_Enemy>().mEnemyHP -= Class_NetworkClient.GetInst().mMyUserInfo.mAP; } } }
public void OnClickBtnReady() { Class_Singleton_Sound.GetInst().Play("ClickSound_2"); mReadyBtn.gameObject.SetActive(false); byte[] tBuffer = new byte[1024]; byte tProtocolID = (byte)PROTOCOL.REQ_READY; tBuffer[0] = tProtocolID; Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); }
// Start is called before the first frame update void Start() { Class_NetworkClient.GetInst().CreateRyu(); bool tResult = Class_NetworkClient.GetInst().Connect(Class_NetworkClient.GetInst().mServerIPAddress, Class_NetworkClient.GetInst().mPort); if (true == tResult) { StartCoroutine("UpdateFromNetwork"); } else { Debug.Log("cannot connect"); } }
public void OnClickBtnGoPlayScene_0() { mpOccupation.mOccupation = "Warrior"; mpOccupation.mHP = 1000; mpOccupation.mAP = 500; Debug.Log("mOccupation : " + mpOccupation.mOccupation + "\n"); Debug.Log("mHP : " + mpOccupation.mHP + "\n"); Debug.Log("mAP : " + mpOccupation.mAP + "\n"); byte[] tBuffer = new byte[1024]; byte tProtocolID = (byte)PROTOCOL.REQ_CREATE_CHAR; int tOccupationlength = mpOccupation.mOccupation.Length; byte[] tOccupation = Encoding.UTF8.GetBytes(mpOccupation.mOccupation); byte[] tHP = BitConverter.GetBytes(mpOccupation.mHP); int tHPLength = tHP.Length; byte[] tAP = BitConverter.GetBytes(mpOccupation.mAP); int tAPLength = tAP.Length; tUser.mHP = mpOccupation.mHP; tUser.mAP = mpOccupation.mAP; tUser.mOccupation = mpOccupation.mOccupation; Class_NetworkClient.GetInst().mMyUserInfo.mHP = tUser.mHP; Class_NetworkClient.GetInst().mMyUserInfo.mAP = tUser.mAP; Class_NetworkClient.GetInst().mMyUserInfo.mOccupation = tUser.mOccupation; Class_NetworkClient.GetInst().mUserInfoes.Add(tUser); tBuffer[0] = tProtocolID; tBuffer[1] = (byte)tHPLength; int tOffset = 2; tHP.CopyTo(tBuffer, tOffset); tOffset += tHPLength; tBuffer[tOffset] = (byte)tAPLength; tOffset += 1; tAP.CopyTo(tBuffer, tOffset); tOffset += tAPLength; tBuffer[tOffset] = (byte)tOccupationlength; tOffset += 1; tOccupation.CopyTo(tBuffer, tOffset); Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length); }
// Update is called once per frame void LateUpdate() { if (Class_NetworkClient.GetInst().mMyUserInfo.mMyTurn == true) { this.transform.position = Vector3.Lerp(this.transform.position, mpPlayer.transform.position - Vector3.forward * mCameraZ + Vector3.up * mCameraY - Vector3.right * mCameraX, Time.deltaTime * 60); this.transform.LookAt(mpPlayer.transform.position); } else { this.transform.position = Vector3.Lerp(this.transform.position, mpOtherPlayer.transform.position - Vector3.forward * mCameraZ + Vector3.up * mCameraY - Vector3.right * mCameraX, Time.deltaTime * 60); this.transform.LookAt(mpOtherPlayer.transform.position); } }
void Start() { init(); if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { tReceivePlayerPos = new Vector3(4f, 1f, -1f); } else { tReceivePlayerPos = new Vector3(-4f, 1f, -1f); } this.gameObject.tag = "TagOtherPlayer"; }
private void OnCollisionEnter(Collision tCollision) { if (tCollision.collider.CompareTag("TagPlayer")) { Class_NetworkClient.GetInst().mMyUserInfo.mHP -= 50; if (Class_NetworkClient.GetInst().mMyUserInfo.mOccupation == "Warrior") { mpWarrior.DamageStart(); } else { mpWizard.DamageStart(); } } }
// Update is called once per frame void Update() { foreach (var u in Class_NetworkClient.GetInst().mUserInfoes) { if (u.mUserName != Class_NetworkClient.GetInst().mMyUserInfo.mUserName) { if (Class_NetworkClient.GetInst().mMyUserInfo.mOccupation == "Wizard" && Class_NetworkClient.GetInst().mMyUserInfo.mHP <= 0 && BtnOpen == false) { StageFail(); } else if (u.mOccupation == "Wizard" && u.mHP <= 0) { StageFail(); } } } switch (mpPlayScene.mStage) { case Class_PlayScene.STAGE.Stage_1: { if (Class_NetworkClient.GetInst().mMyUserInfo.mMyTurn == true) { mCountTxt.text = "남은 아이템 : " + mpPlayer.tCount; } else { mCountTxt.text = "남은 아이템 : " + mpReceivePlayer.tCount; } } break; case Class_PlayScene.STAGE.Stage_2: { if (Class_NetworkClient.GetInst().mMyUserInfo.mMyTurn == true) { mCountTxt.text = "남은 적 수 : " + mpPlayer.tEnemyCount; } else { mCountTxt.text = "남은 적 수 : " + mpReceivePlayer.tEnemyCount; } } break; case Class_PlayScene.STAGE.Stage_3: break; } }
public void SpawnMaze() { int tA = 0; tA = Random.Range(0, 2); if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { PFMaze = Resources.Load <GameObject>("Prefabs/PFMaze_" + tA); GameObject tMaze = Instantiate <GameObject>(PFMaze, PFMaze.transform.position, PFMaze.transform.rotation); } else { PFMaze = Resources.Load <GameObject>("Prefabs/PFMaze_" + tA + "_guest"); GameObject tMaze = Instantiate <GameObject>(PFMaze, PFMaze.transform.position, PFMaze.transform.rotation); } }
void Update() { if (Class_NetworkClient.GetInst().mMyUserInfo.mMyTurn == true) { if (Mathf.Abs(mpPlayer.tHorizontal) > 0.0f || Mathf.Abs(mpPlayer.tVertical) > 0.0f) { if (Input.GetKey(KeyCode.Space)) { mpPlayer.tSpace = 1; anim.SetBool("Attack", false); anim.SetBool("Run", false); anim.SetBool("RunAttack", true); } else { mpPlayer.tSpace = 0; anim.SetBool("RunAttack", false); anim.SetBool("Run", true); } } else { anim.SetBool("Run", false); } //test //if (Input.GetKey(KeyCode.B)) //{ // anim.SetBool("Damage", true); //} if (Input.GetKey(KeyCode.Space)) { mpPlayer.tSpace = 1; if (mpPlayer.tHorizontal == 0 && mpPlayer.tVertical == 0) { anim.SetBool("RunAttack", false); anim.SetBool("Attack", true); } } else { mpPlayer.tSpace = 0; anim.SetBool("Attack", false); } } }
private void init() { print("UDPSend.init()"); if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { port = 8052; } else { port = 8051; } receiveThread = new Thread(new ThreadStart(ReceiveData)); receiveThread.IsBackground = true; receiveThread.Start(); }
void OnTriggerEnter(Collider tCollider) { if (tCollider.CompareTag("TagEnemy")) { Class_Singleton_Sound.GetInst().Play("Damage"); tCollider.GetComponent <Class_Enemy>().DamageStart(); tCollider.GetComponent <Class_Enemy>().mEnemyHP -= Class_NetworkClient.GetInst().mMyUserInfo.mAP; Destroy(this.gameObject); } if (tCollider.CompareTag("TagWall")) { Destroy(this.gameObject); } }
public void init() { //Woo IP = "192.168.0.21"; //Sung //IP = "192.168.0.144"; if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { port = 8051; } else { port = 8052; } //Senden remoteEndPoint = new IPEndPoint(IPAddress.Parse(IP), port); client = new UdpClient(); }
private void ReceiveData() { client = new UdpClient(port); while (true) { try { IPEndPoint anyIP = new IPEndPoint(IPAddress.Any, port); byte[] data = client.Receive(ref anyIP); string text = Encoding.UTF8.GetString(data); Class_ReceivePlayerPos tPlayerPos = JsonUtility.FromJson <Class_ReceivePlayerPos>(text); Thread.Sleep(5); tReceivePlayerPos = new Vector3(tPlayerPos.x, tPlayerPos.y, tPlayerPos.z); tReceivePlayerRotation = Quaternion.Euler(0f, tPlayerPos.ry, 0f); foreach (var u in Class_NetworkClient.GetInst().mUserInfoes) { if (u.mUserName != Class_NetworkClient.GetInst().mMyUserInfo.mUserName) { u.mHP = tPlayerPos.HP; } } tHorizontal = tPlayerPos.tHorizontal; tVertical = tPlayerPos.tVertical; tSpace = tPlayerPos.Space; tCount = tPlayerPos.tCount; tEnemyCount = tPlayerPos.tEnemyCount; } catch (Exception err) { print(err.ToString()); } } }
IEnumerator UpdatePos() { for (; ;) { Class_SendPlayerPos tSendPlayerPos = new Class_SendPlayerPos(); tSendPlayerPos.x = this.transform.position.x; tSendPlayerPos.y = this.transform.position.y; tSendPlayerPos.z = this.transform.position.z; tSendPlayerPos.ry = this.transform.rotation.eulerAngles.y; tSendPlayerPos.HP = Class_NetworkClient.GetInst().mMyUserInfo.mHP; tSendPlayerPos.tHorizontal = tHorizontal; tSendPlayerPos.tVertical = tVertical; tSendPlayerPos.Space = tSpace; tSendPlayerPos.tCount = tCount; tSendPlayerPos.tEnemyCount = tEnemyCount; strMessage = JsonUtility.ToJson(tSendPlayerPos); sendString(strMessage + "\n"); yield return(new WaitForSeconds(0.05f)); } }
public void SpawnItem() { int i, j; if (Class_NetworkClient.GetInst().mMyUserInfo.mUserName == Class_NetworkClient.GetInst().mRoomMaster) { i = Random.Range(-23, -7); j = Random.Range(42, 58); GameObject tItem = Instantiate <GameObject>(PFItem, new Vector3(i, 0, j), Quaternion.identity); Destroy(tItem, 2); } else { i = Random.Range(7, 23); j = Random.Range(42, 58); GameObject tItem = Instantiate <GameObject>(PFItem, new Vector3(i, 0, j), Quaternion.identity); Destroy(tItem, 2); } }