public void UpdateMemberList(Dictionary <int, string> map) { memberList.Clear(); memberMap = map; memberList.AddRange(map.Keys); // current check if (memberMap.ContainsKey(curUserId)) { curMemberListIndex = memberList.IndexOf(curUserId); inputFieldMessage.interactable = true; } else { curMemberListIndex = 0; curUserId = -1; textUserName.text = string.Empty; ChatControllerPrivate ccp = (ChatControllerPrivate)chatControllers[(int)TypeChat.Private]; ccp.ClearMessageDispOnly(); inputFieldMessage.interactable = false; } // update button buttonLeft.interactable = (memberList.Count > 0); buttonRight.interactable = (memberList.Count > 0); }
public void SetMessage(Data.ChatInfo info, int myUserId) { switch ((TypeChat)info.RangeType) { case TypeChat.World: case TypeChat.Group: chatControllers[info.RangeType].UpdateMessageList(info.Name, info.Message); break; case TypeChat.Private: ChatControllerPrivate ccp = (ChatControllerPrivate)chatControllers[info.RangeType]; if (info.FromId == myUserId) { ccp.UpdateMessageList(info.RangeId, info.Name, info.Message, (curUserId == info.RangeId)); } else { ccp.UpdateMessageList(info.FromId, info.Name, info.Message, (curUserId == info.FromId)); } // todo break; default: Debug.LogError("unkwoun type!! " + info.RangeType); break; } if (!chatControllers[info.RangeType].isDispEnable) { imageNotices[info.RangeType].SetActive(true); } }
private void updateCurrent(int add) { if (memberList.Count < 1) { return; } curMemberListIndex = (curMemberListIndex + memberList.Count + add) % memberList.Count; curUserId = memberList[curMemberListIndex]; textUserName.text = memberMap[curUserId]; ChatControllerPrivate ccp = (ChatControllerPrivate)chatControllers[(int)TypeChat.Private]; ccp.SwitchDispMessage(curUserId); inputFieldMessage.interactable = true; }