Exemple #1
0
    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);
    }
Exemple #2
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);
        }
    }
Exemple #3
0
    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;
    }