Esempio n. 1
0
    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));
        }
    }
Esempio n. 2
0
    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);
        }
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
            }
        }
    }
Esempio n. 5
0
    // 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;
    }
Esempio n. 6
0
    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);
        }
    }
Esempio n. 7
0
    private void OnApplicationQuit()
    {
        byte[] tBuffer = new byte[1024];
        tBuffer[0] = (byte)PROTOCOL.REQ_QUIT_GAME;

        Class_NetworkClient.GetInst().Send(tBuffer, tBuffer.Length);
    }
Esempio n. 8
0
    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++;
            }
        }
    }
Esempio n. 9
0
    // 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");
    }
Esempio n. 10
0
    public static Class_NetworkClient GetInst()
    {
        if (mInstance == null)
        {
            mInstance = new Class_NetworkClient();
        }

        return(mInstance);
    }
Esempio n. 11
0
    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);
        }
    }
Esempio n. 12
0
    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);
    }
Esempio n. 13
0
    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);
    }
Esempio n. 14
0
    // 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);
        }
    }
Esempio n. 15
0
 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;
         }
     }
 }
Esempio n. 16
0
    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);
    }
Esempio n. 17
0
    // 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");
        }
    }
Esempio n. 18
0
    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);
    }
Esempio n. 19
0
    // 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);
        }
    }
Esempio n. 20
0
    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";
    }
Esempio n. 21
0
 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();
         }
     }
 }
Esempio n. 22
0
    // 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;
        }
    }
Esempio n. 23
0
    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);
        }
    }
Esempio n. 24
0
    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);
            }
        }
    }
Esempio n. 25
0
    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();
    }
Esempio n. 26
0
    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);
        }
    }
Esempio n. 27
0
    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();
    }
Esempio n. 28
0
    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());
            }
        }
    }
Esempio n. 29
0
    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));
        }
    }
Esempio n. 30
0
    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);
        }
    }