Ejemplo n.º 1
0
    void OnClosed()
    {
        Debug.Log("OnClosed");
        StartCoroutine(Alert("Socket closed, Please Login again.", false));

        remove_listen();
        AgoraHandler.LeaveChannel();
        StartCoroutine(LoadNextSceneDelay("Login"));
    }
Ejemplo n.º 2
0
    void OnApplicationQuit()
    {
        //https://docs.unity3d.com/ScriptReference/Application.CancelQuit.html

        //CancelInvoke("SendingMyPosition");

        AgoraHandler.ApplicationQuit();

        if (NakamaSocket._socket != null)
        {
            //NakamaSocket._socket.LeaveMatchAsync(NakamaSocket.MATCH_ID);
        }
    }
Ejemplo n.º 3
0
    //private float last_x=0, last_z=0;



    //private int count_test = 1;


    void Start()
    {
        //yield return null;
        //yield return new WaitForSeconds(0.1f);
        //https://github.com/heroiclabs/nakama-examples/blob/master/unity/nakama-showreel/Assets/Nakama/Example/Matchmake.cs
        //https://github.com/PimDeWitte/UnityMainThreadDispatcher

        //actionQueue = new Queue<System.Action>(1024);
        //actionQueue = new Queue<System.Action>();


        NakamaSocket.Closed                += OnClosed;
        NakamaSocket.ReceivedError         += OnReceivedError;
        NakamaSocket.ReceivedMatchPresence += OnReceivedMatchPresence;
        NakamaSocket.ReceivedMatchState    += OnReceivedMatchState;

        ChatHandler.OnSendChatMessage += _OnSendChatMessage;



        /*
         * NakamaSocket.Connected += () =>
         * {
         *  Debug.LogFormat("Connected");
         *  NakamaSocket.join_match(
         *      (_state, _IMatch) =>
         *      {
         *
         *          if (!_state)
         *          {
         *              Debug.LogFormat("join_match error: {0}", _state);
         *          }
         *          else
         *          {
         *              Debug.LogFormat("join_match sssss: {0}", _IMatch);
         *
         *              GetPlayersClassroomMatch();
         *
         *
         *          }
         *      }
         *  );
         *
         *  InvokeRepeating("SendingMyPosition", 1f, 0.1f);
         * };
         *
         * NakamaSocket.TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIwNDlhMjMzOC1kZjc5LTRlM2MtYTQ1Ny05ZmNlOTI1Nzg1YWYiLCJ1c24iOiJzdHVkZW50MSIsImV4cCI6MTU4OTM0MTQ0MX0.k7yKp7TkRML18nxoJy77Qa8nztTttpC4OuDmc-kjDBk";
         * NakamaSocket.MATCH_ID = "8eeb84c8-a858-4835-bc10-3265cff11175.nakama4class";
         * NakamaSocket.USERNAME = "******";
         * NakamaSocket.USERID = "049a2338-df79-4e3c-a457-9fce925785af";
         * NakamaSocket.Connect();
         */

        AgoraHandler.OnJoinChannelSuccess += ClosedOnJoinChannelSuccess;
        AgoraHandler.OnLeaveChannel       += OnLeaveChannel;



        PlayerCharacter = Instantiate(GirlPrefabPlayer) as GameObject;
        //PlayerCharacter.transform.position = new Vector3(4f, 10f, 4f);
        PlayerCharacter.transform.position = new Vector3(2.6f, 10f, -2.7f);
        PlayerCharacter_controller         = PlayerCharacter.GetComponent <CharacterControlPlayer>();

        PlayerCharacter_controller.SetName(NakamaSocket.USERNAME);
        PlayerCharacter_controller.SetId(NakamaSocket.USERID);
        PlayerCharacter_controller.ChatInputText = ChatHandler.SendMessageT;
        PlayerCharacter_controller.SitDownB      = SitDownB;



        GetPlayersClassroomMatch();
        InvokeRepeating("SendingMyPosition", 1f, 0.1f);

        AgoraHandler.Connect();
        AgoraHandler.JoinChannel(NakamaSocket.AGORA_TOKEN, NakamaSocket.CLASSROOM_ID, NakamaSocket.USER_ID_UINT);

        /*
         * Debug.Log("AGORA_TOKEN" + NakamaSocket.AGORA_TOKEN);
         * Debug.Log("CLASSROOM_ID" + NakamaSocket.CLASSROOM_ID);
         * Debug.Log("USER_ID_UINT" + NakamaSocket.USER_ID_UINT);
         */
        SitDownB.gameObject.SetActive(false);
        StandUpB.gameObject.SetActive(false);

        SitDownB.onClick.AddListener(() => {
            if (PlayerCharacter_controller.seatNumber == 0)
            {
                return;
            }
            //Debug.Log("Try to sit on => "+PlayerCharacter_controller.seatNumber);


            NakamaSocket._socket.SendMatchStateAsync(NakamaSocket.MATCH_ID, 10, JsonUtility.ToJson(
                                                         new SeatNumberJson()
            {
                n = PlayerCharacter_controller.seatNumber
            }
                                                         ));
        });

        StandUpB.onClick.AddListener(() => {
            //Debug.Log("Try to sit on => "+PlayerCharacter_controller.seatNumber);

            NakamaSocket._socket.SendMatchStateAsync(NakamaSocket.MATCH_ID, 11, "");
        });


        MicButton.onClick.AddListener(() => {
            if (!AgoraHandler.IsOnline)
            {
                MicButton.transform.Find("disconnected").GetComponent <RawImage>().enabled = true;
                MicButton.transform.Find("mic_on").GetComponent <RawImage>().enabled       = false;
                MicButton.transform.Find("mic_off").GetComponent <RawImage>().enabled      = false;

                //AgoraHandler.Connect();

                return;
            }

            if (AgoraHandler.IsMute)
            {
                MicButton.transform.Find("disconnected").GetComponent <RawImage>().enabled = false;
                MicButton.transform.Find("mic_on").GetComponent <RawImage>().enabled       = true;
                MicButton.transform.Find("mic_off").GetComponent <RawImage>().enabled      = false;

                AgoraHandler.setMic(true);
            }
            else
            {
                MicButton.transform.Find("disconnected").GetComponent <RawImage>().enabled = false;
                MicButton.transform.Find("mic_on").GetComponent <RawImage>().enabled       = false;
                MicButton.transform.Find("mic_off").GetComponent <RawImage>().enabled      = true;
                AgoraHandler.setMic(false);
            }
        });

        //must make timer to check if we recived the players or still!
    }