// Use this for initialization void Start() { rawImage.gameObject.SetActive(false); setMessageRecvListener(); setGroupListener(); friendListBtn.onClick.AddListener(delegate { friendList.Clear(); friendListDd.ClearOptions(); string names = EMClient.Instance.GetAllContactsFromServer(); Dropdown.OptionData od = new Dropdown.OptionData(); od.text = "choose"; friendList.Add(od); if (names.Length > 0) { string[] namearr = names.Split(new char[] { ',' }); foreach (string name in namearr) { Dropdown.OptionData dod = new Dropdown.OptionData(); dod.text = name; friendList.Add(dod); } } friendListDd.AddOptions(friendList); }); sendTxtMessageBtn.onClick.AddListener(delegate() { if (friendListDd.value == 0) { logText.text = "not choose"; logText.color = new Color(255, 0, 0); return; } Dropdown.OptionData dod = friendList[friendListDd.value]; EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send message success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; EMClient.Instance.SendTextMessage(txtContent.text, dod.text, ChatType.Chat, cb); }); screenShot.onClick.AddListener(delegate() { StartCoroutine(GenCapture()); }); sendFileMessageBtn.onClick.AddListener(delegate() { if (filePath.text.Length > 0) { Dropdown.OptionData dod = friendList[friendListDd.value]; EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send file success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; EMClient.Instance.SendFileMessage(filePath.text, dod.text, ChatType.Chat, cb); } }); sendGroupTxtMsgBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send group message success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; if (txtContent.text.Length == 0) { txtContent.placeholder.GetComponent <Text>().text = "input here first"; return; } if (groupName.text.Length == 0) { groupName.placeholder.GetComponent <Text>().text = "input here first"; return; } EMClient.Instance.SendTextMessage(txtContent.text, groupName.text, ChatType.GroupChat, cb); }); sendGroupFileMsgBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send group file success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; if (groupName.text.Length == 0) { groupName.placeholder.GetComponent <Text>().text = "input here first"; return; } EMClient.Instance.SendFileMessage(filePath.text, groupName.text, ChatType.GroupChat, cb); }); createGroupBtn.onClick.AddListener(delegate() { if (groupName.text.Length > 0) { EMGroupCallback cb = new EMGroupCallback(); cb.onSuccessCreateGroupCallback = (group) => { logText.text = "create suc. groupId=" + group.mGroupId; }; cb.onErrorCallback = (code, msg) => { }; EMClient.Instance.createGroup(groupName.text, "desc:" + groupName.text, new string[0], "reason", 200, GroupStyle.GroupStylePublicOpenJoin, cb); } }); leaveGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "leave group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; if (groupName.text.Length > 0) { EMClient.Instance.leaveGroup(groupName.text, cb); } else { logText.text = "input group id first"; } }); getGroupsBtn.onClick.AddListener(delegate() { logText.text = ""; groupList.Clear(); EMGroupCallback cb = new EMGroupCallback(); cb.onSuccessGetGroupListCallback = (groups) => { foreach (EMGroup group in groups) { logText.text += "ID=" + group.mGroupId + "," + group.mGroupName + "\n"; groupList.Add(group); groupName.text = group.mGroupId; } logContent.sizeDelta = new Vector2(0, logText.preferredHeight + 5); }; cb.onErrorCallback = (code, msg) => { }; EMClient.Instance.getJoinedGroupsFromServer(cb); }); addToGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "add user to group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; string[] users = { groupUser.text }; EMClient.Instance.addUsersToGroup(groupName.text, users, cb); }); inviteToGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "invite to group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; if (groupName.text.Length > 0) { string[] users = { groupUser.text }; EMClient.Instance.inviteUser(groupName.text, users, "welconme", cb); } else { logText.text = "input group id first"; } }); RmUserFromGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "removeUserFromGroup success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; EMClient.Instance.removeUserFromGroup(groupName.text, groupUser.text, cb); }); destroyGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "destory group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; if (groupName.text.Length > 0) { EMClient.Instance.destroyGroup(groupName.text, cb); } else { logText.text = "input group id first"; } }); getLastMsgBtn.onClick.AddListener(delegate() { if (fromUser.text.Length == 0) { fromUser.placeholder.GetComponent <Text>().text = "input here first"; return; } EMMessage message = EMClient.Instance.GetLatestMessage(fromUser.text); if (message != null) { msgId.text = message.mMsgId; logText.text = message.mMsgId; } }); getMessageBtn.onClick.AddListener(delegate() { if (fromUser.text.Length == 0) { fromUser.placeholder.GetComponent <Text>().text = "input here first"; return; } if (msgId.text.Length == 0) { msgId.placeholder.GetComponent <Text>().text = "input here first"; return; } logText.text = ""; List <EMMessage> list = EMClient.Instance.GetConversationMessage(fromUser.text, msgId.text, 20); foreach (EMMessage msg in list) { logText.text += "msg id:" + msg.mMsgId + ",from:" + msg.mFrom; if (msg.mType == MessageType.TXT) { logText.text += ",txt:" + msg.mTxt; } if (msg.mType == MessageType.FILE) { logText.text += ",path:" + msg.mRemotePath; } logText.text += "\n"; logContent.sizeDelta = new Vector2(0, logText.preferredHeight + 5); } }); logoutBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { SceneManager.LoadScene("LoginScene"); }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; EMClient.Instance.Logout(true, cb); }); }
// Use this for initialization void Start() { rawImage.gameObject.SetActive(false); EMClient.Instance.isAutoAcceptGroupInvitation(false); setMessageRecvListener(); sendTxtMessageBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send message success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; EMClient.Instance.SendTextMessage(txtContent.text, toUser.text, ChatType.Chat, cb); }); screenShot.onClick.AddListener(delegate() { StartCoroutine(GenCapture()); }); sendFileMessageBtn.onClick.AddListener(delegate() { if (filePath.text.Length > 0) { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send file success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { }; EMClient.Instance.SendFileMessage(filePath.text, toUser.text, ChatType.Chat, cb); } }); sendGroupTxtMsgBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send group message success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; if (txtContent.text.Length == 0) { txtContent.placeholder.GetComponent <Text>().text = "input here first"; return; } if (groupName.text.Length == 0) { groupName.placeholder.GetComponent <Text>().text = "input here first"; return; } EMClient.Instance.SendTextMessage(txtContent.text, groupName.text, ChatType.GroupChat, cb); }); sendGroupFileMsgBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send group file success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; if (groupName.text.Length == 0) { groupName.placeholder.GetComponent <Text>().text = "input here first"; return; } EMClient.Instance.SendFileMessage(filePath.text, groupName.text, ChatType.GroupChat, cb); }); createGroupBtn.onClick.AddListener(delegate() { if (groupName.text.Length > 0) { EMGroupCallback cb = new EMGroupCallback(); cb.onSuccessCreateGroupCallback = (group) => { logText.text = "create group success"; }; cb.onErrorCallback = (code, msg) => { logText.text = msg; }; EMClient.Instance.createGroup(groupName.text, "desc:" + groupName.text, new string[0], "reason", 200, (GroupStyle)groupStyle.value, cb); } }); joinGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "join group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { logText.text = "join group failure msg=" + msg; }; if (groupName.text.Length > 0) { EMClient.Instance.joinGroup(groupName.text, cb); } else { logText.text = "input group id first"; } }); leaveGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "leave group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { logText.text = msg; }; if (groupName.text.Length > 0) { EMClient.Instance.leaveGroup(groupName.text, cb); } else { logText.text = "input group id first"; } }); getGroupsBtn.onClick.AddListener(delegate() { logText.text = ""; groupList.Clear(); EMGroupCallback cb = new EMGroupCallback(); cb.onSuccessGetGroupListCallback = (groups) => { foreach (EMGroup group in groups) { logText.text += "ID=" + group.mGroupId + "," + group.mGroupName + "\n"; groupList.Add(group); groupName.text = group.mGroupId; } logContent.sizeDelta = new Vector2(0, logText.preferredHeight + 5); }; cb.onErrorCallback = (code, msg) => { logText.text = msg; }; EMClient.Instance.getJoinedGroupsFromServer(cb); }); getConversationsBtn.onClick.AddListener(delegate() { logText.text = "conversation list:\n"; List <EMConversation> conversations = EMClient.Instance.GetAllConversations(); foreach (EMConversation conv in conversations) { logText.text += conv.mConversationId; if (conv.mLastMsg != null) { logText.text += ",lastmsgId=" + conv.mLastMsg.mMsgId; } logText.text += "\n"; } }); addToGroupBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "add user to group success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, msg) => { logText.text = "failed to addUsersToGroup: " + msg; }; string[] users = { groupUser.text }; EMClient.Instance.addUsersToGroup(groupName.text, users, cb); }); GroupInfoBtn.onClick.AddListener(delegate() { if (groupName.text.Length > 0) { EMGroup group = EMClient.Instance.getGroup(groupName.text); if (group != null) { logText.text = "name=" + group.mGroupName + ",id=" + group.mGroupId; } } else { logText.text = "input group id first"; } }); getLastMsgBtn.onClick.AddListener(delegate() { if (fromUser.text.Length == 0) { fromUser.placeholder.GetComponent <Text>().text = "input here first"; return; } EMMessage message = EMClient.Instance.GetLatestMessage(fromUser.text); if (message != null) { msgId.text = message.mMsgId; logText.text = message.mMsgId; } }); getMessageBtn.onClick.AddListener(delegate() { if (fromUser.text.Length == 0) { fromUser.placeholder.GetComponent <Text>().text = "input here first"; return; } logText.text = ""; List <EMMessage> list = EMClient.Instance.GetConversationMessage(fromUser.text, msgId.text, 20); foreach (EMMessage msg in list) { logText.text += "msg id:" + msg.mMsgId + ",from:" + msg.mFrom; if (msg.mType == MessageType.TXT) { logText.text += ",txt:" + msg.mTxt; } if (msg.mType == MessageType.FILE) { logText.text += ",path:" + msg.mRemotePath; } logText.text += "\n"; logContent.sizeDelta = new Vector2(0, logText.preferredHeight + 5); } }); logoutBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { SceneManager.LoadScene("LoginScene"); GlobalListener.Instance.listenerInfo = ""; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; EMClient.Instance.Logout(true, cb); }); logText.text = GlobalListener.Instance.listenerInfo; sendExtMsgBtn.onClick.AddListener(delegate() { EMBaseCallback cb = new EMBaseCallback(); cb.onSuccessCallback = () => { logText.text = "send message success"; }; cb.onProgressCallback = (progress, status) => { }; cb.onErrorCallback = (code, message) => { }; string jsonstr = "{\"key\":\"extinfotext\"}"; EMClient.Instance.SendTextMessageExt(txtContent.text, toUser.text, ChatType.Chat, cb, jsonstr); }); }