public void P_User_Exit_Room(ARWObject obj, SpecialRequestParam specialReqParam)
        {
            if (ARWServer.instance == null)
            {
                return;
            }

            ARWRoom currentRoom = ARWRoomManager.instance.allRooms.Where(a => a.id == specialReqParam.GetInt("room_id")).FirstOrDefault();

            if (currentRoom == null)
            {
                return;
            }

            int     userId     = specialReqParam.GetInt("user_id");
            ARWUser userLeaved = currentRoom.userList.Where(a => a.userId == userId).FirstOrDefault();

            if (userLeaved == null)
            {
                return;
            }

            currentRoom.RemoveUser(userLeaved);

            if (ARWEvents.USER_EXIT_ROOM.handler == null)
            {
                return;
            }

            ARWEvents.USER_EXIT_ROOM.handler(obj, userLeaved);
        }
        public void P_User_Enter_Room(ARWObject obj, SpecialRequestParam specialReqParam)
        {
            if (ARWServer.instance == null)
            {
                return;
            }

            string  userProperties = specialReqParam.GetString("user_properties");
            ARWUser newUser        = ARWUserManager.instance.CreateUser(new JSONObject(userProperties));

            ARWRoom currentRoom = ARWRoomManager.instance.allRooms.Where(a => a.id == specialReqParam.GetInt("room_id")).FirstOrDefault();

            if (currentRoom == null)
            {
                return;
            }
            currentRoom.AddUserToRoom(newUser);

            if (ARWEvents.USER_ENTER_ROOM.handler == null)
            {
                return;
            }

            ARWEvents.USER_ENTER_ROOM.handler(obj, newUser);
        }
Beispiel #3
0
        public static ARWObject Extract(byte[] bytes)
        {
            string data = System.Text.Encoding.UTF8.GetString(bytes).Replace("\0", null).Replace("\"", null);

            ARWObject newObj = IARWObject.Extract(data);

            return(newObj);
        }
        public void SendLoginRequest(string userName, ARWObject arwObject)
        {
            SpecialRequestParam loginParam = new SpecialRequestParam();

            loginParam.PutVariable("user_name", userName);

            Request loginRequest = new Request(ARWServer_CMD.Login, arwObject, loginParam);

            this.SendRequest(loginRequest);
        }
        public void P_Extension_Response(ARWObject obj, SpecialRequestParam specialReqParam)
        {
            ExtensionRequest currentExtension = ARWServer.instance.GetExtensionRequest(specialReqParam.GetString("cmd"));

            if (currentExtension == null)
            {
                return;
            }

            currentExtension.handler(obj);
        }
Beispiel #6
0
 private void GetUserData(ARWObject obj, object value)
 {
     if (obj.GetString("error") == "")
     {
         // AppManager.instance.screenView.Transition(2);
         AppManager.instance.InitPlayer(obj.GetString("player_data"));
     }
     else
     {
         Debug.Log("GetUserData Error : " + obj.GetString("error"));
     }
 }
        public void SendExtensionRequest(string cmd, ARWObject obj, bool roomRequest)
        {
            SpecialRequestParam reqSpParam = new SpecialRequestParam();

            reqSpParam.PutVariable("cmd", cmd);
            reqSpParam.PutVariable("isRoom", roomRequest);
            if (roomRequest)
            {
                reqSpParam.PutVariable("room_id", ARWUserManager.instance.me.lastJoinedRoom);
            }

            Request newRequest = new Request(ARWServer_CMD.Extension_Request, obj, reqSpParam);

            this.SendRequest(newRequest);
        }
Beispiel #8
0
    private void OnLoginSuccess(ARWObject arwObj, object value)
    {
        Debug.Log("Server Login Success");
        this.canLogin = true;

        string email = PlayerPrefs.GetString("player_id");
        string pass  = PlayerPrefs.GetString("player_pass");

        AppManager.instance.inputEmailOnLogin.text    = email;
        AppManager.instance.inputPasswordOnLogin.text = pass;
        // ARWObject obj = new IARWObject();
        // obj.PutString("player_id", email);
        // obj.PutString("player_password", pass);
        // arwServer.SendExtensionRequest("Login", obj, false);
    }
Beispiel #9
0
        public static Request Extract(string reqData)
        {
            string[] reqParts = reqData.Split(new string[] { "^^" }, StringSplitOptions.None);
            if (reqParts.Length != 3)
            {
                return(null);
            }

            string              eventName    = reqParts[0];
            ARWObject           obj          = IARWObject.Extract(reqParts[1]);
            SpecialRequestParam specialParam = SpecialRequestParam.Extract(reqParts[2]);

            Request newReq = new Request(eventName, obj, specialParam);

            return(newReq);
        }
        public void P_Login(ARWObject obj, SpecialRequestParam specialReqParam)
        {
            if (ARWServer.instance == null)
            {
                return;
            }

            ARWUser newUser = ARWUserManager.instance.CreateUser(new JSONObject(specialReqParam.GetString("user_properties")));

            if (ARWEvents.LOGIN.handler == null)
            {
                return;
            }

            ARWEvents.LOGIN.handler(obj, newUser);
        }
Beispiel #11
0
    private void SendMessageHandler(ARWObject obj, object value)
    {
        string messageData = obj.GetString("message_data");

        Debug.Log(messageData);
        Message newMessage  = new Message(new JSONObject(messageData));
        Talk    currentTalk = ChatPanelManager.instance.user.playerTalks.Where(a => a.talkId == newMessage.talkId).FirstOrDefault();

        Debug.Log("=======> " + newMessage.body + " : " + newMessage.talkId);

        if (currentTalk == null)
        {
            return;
        }

        currentTalk.AddMessage(newMessage);
    }
        public void P_Connection_Lost(ARWObject arwObject, SpecialRequestParam specialReqParam)
        {
            if (ARWServer.instance == null)
            {
                return;
            }

            ARWServer.instance.isConnected = false;
            if (ARWEvents.CONNECTION_LOST.handler == null)
            {
                return;
            }

            ARWObject obj = new IARWObject();

            ARWEvents.CONNECTION_LOST.handler(obj);
        }
Beispiel #13
0
    private void FindedConversationHandler(ARWObject obj, object value)
    {
        string newTalkData = obj.GetString("talk_data");

        JSONObject talkJson = new JSONObject(newTalkData);
        Talk       newTalk  = new Talk(talkJson);

        if (newTalk.receiverName == "")
        {
            DialogManager.ShowAlert("Server connection error.", "Alert!", MaterialIconHelper.GetIcon(MaterialIconEnum.ADD_ALERT));
            return;
        }

        ChatPanelManager.instance.user.AddTalk(newTalk);
        ChatPanelManager.instance.InitNewTalk(newTalk);

        Debug.Log(newTalk.talkId + " : " + newTalk.receiverName + " : " + newTalk.talkMessages.Length);
    }
        public void P_Connection(ARWObject arwObject, SpecialRequestParam specialReqParam)
        {
            if (ARWServer.instance == null)
            {
                return;
            }

            // DateTime t = DateTime.Parse(specialReqParam.GetString("server_time"));
            // ARWServer.instance.SetServerTime(t);

            if (specialReqParam.GetString("error") == "")
            {
                ARWServer.instance.isConnected = true;
            }

            if (ARWEvents.CONNECTION.handler != null)
            {
                ARWEvents.CONNECTION.handler(arwObject);
            }
        }
        public void P_Join_Room(ARWObject obj, SpecialRequestParam specialReqParam)
        {
            if (ARWServer.instance == null)
            {
                return;
            }

            string     roomData     = specialReqParam.GetString("room_properties");
            JSONObject roomDataJson = new JSONObject(roomData);
            ARWRoom    newRoom      = ARWRoomManager.instance.CreateRoom(roomData);

            ARWUserManager.instance.me.lastJoinedRoom = newRoom;

            if (ARWEvents.ROOM_JOIN.handler == null)
            {
                return;
            }

            ARWEvents.ROOM_JOIN.handler(obj, newRoom);
        }
Beispiel #16
0
        public byte[] Compress()
        {
            string reqData = "";

            if (this.arwObject == null)
            {
                this.arwObject = new IARWObject();
            }
            if (this.specialRequestParam == null)
            {
                this.specialRequestParam = new SpecialRequestParam();
            }

            string arwObjData = System.Text.Encoding.UTF8.GetString(this.arwObject.Compress()).Replace("\0", null).Replace("\"", null);

            reqData += this.eventName + "^^";
            reqData += arwObjData + "^^";
            reqData += this.specialRequestParam.Compress();

            return(System.Text.Encoding.UTF8.GetBytes(reqData));
        }
Beispiel #17
0
 public Request(string eventName, ARWObject arwObject, SpecialRequestParam sP = null)
 {
     this.eventName           = eventName;
     this.arwObject           = arwObject;
     this.specialRequestParam = sP;
 }
Beispiel #18
0
 private void OnConnectionLost(ARWObject obj, object value)
 {
     Debug.Log("Connection Fail");
     DialogManager.ShowAlert("Please check your internet connection.", "Alert!", MaterialIconHelper.GetIcon(MaterialIconEnum.ADD_ALERT));
     ChatPanelManager.instance.welcomeScreen.gameObject.SetActive(false);
 }
Beispiel #19
0
 private void OnConnectionSuccess(ARWObject obj, object value)
 {
     Debug.Log("Connection Success");
     AppManager.instance.appStatus = AppManager.AppStatus.Connection;
     AppManager.instance.screenView.Transition(0);
 }
Beispiel #20
0
 private void CannotFindActiveUser(ARWObject obj, object value)
 {
     DialogManager.ShowAlert("There is no active user in server.", "Alert!", MaterialIconHelper.GetIcon(MaterialIconEnum.ADD_ALERT));
 }
Beispiel #21
0
 private void RegisterHandler(ARWObject obj, object value)
 {
     ChatPanelManager.instance.welcomeScreen.gameObject.SetActive(true);
 }