Example #1
0
    public async void OnLoginClicked()
    {
        string username = usernameInputField.text;

        if (!LCUtils.IsValidString(username))
        {
            LCUtils.ShowToast(this, "Please input valid username.");
            return;
        }
        string password = passwordInputField.text;

        if (!LCUtils.IsValidString(password))
        {
            LCUtils.ShowToast(this, "Please input valid password.");
            return;
        }

        try {
            LCUser user = await LCManager.Instance.Login(username, password);

            LCUtils.SaveUser(user);
            string nickname = user.GetNickname();
            if (string.IsNullOrEmpty(nickname))
            {
                SendMessageUpwards("ShowNameMenu", SendMessageOptions.RequireReceiver);
            }
            else
            {
                SendMessageUpwards("ShowLCMainMenu", SendMessageOptions.RequireReceiver);
            }
        } catch (LCException e) {
            LCUtils.ShowToast(this, e);
        }
    }
        /// <summary>
        /// Bring up to login menu
        /// </summary>
        public async void ShowLoginMenu()
        {
            if (LCUtils.TryGetLocalSessionToken(out string sessionToken))
            {
                try {
                    LCUser user = await LCManager.Instance.Login(sessionToken);

                    string nickname = user.GetNickname();
                    if (string.IsNullOrEmpty(nickname))
                    {
                        ShowNameMenu();
                    }
                    else
                    {
                        ShowLCMainMenu();
                    }
                } catch (LCException e) {
                    Debug.LogError($"{e.Code} - {e.Message}");
                    ChangePage(loginPanel);
                }
            }
            else
            {
                ChangePage(loginPanel);
            }
        }
 public void UpdateItemData(object data)
 {
     if (data is LCFriendshipRequest req)
     {
         request = req;
         LCUser user = request["user"] as LCUser;
         nameText.text = user.GetNickname();
         gameObject.SetActive(true);
     }
 }
 public void UpdateItemData(object data)
 {
     if (data is MessageEntity messageEntity)
     {
         gameObject.SetActive(true);
         user = messageEntity.User;
         LCIMTextMessage message = messageEntity.Message as LCIMTextMessage;
         chatText.text = $"{user.GetNickname()}:{message.Text}";
     }
 }
Example #5
0
 public void UpdateItemData(object data)
 {
     if (data is LCObject obj)
     {
         friendship = obj;
         LCUser friend = friendship["followee"] as LCUser;
         nameText.text = friend.GetNickname();
         gameObject.SetActive(true);
     }
 }
Example #6
0
 public void UpdateItemData(object data)
 {
     gameObject.SetActive(true);
     if (data is LCRanking ranking)
     {
         user             = ranking.User;
         rankingText.text = $"第 {ranking.Rank + 1} 名";
         nameText.text    = user.GetNickname();
         scoreText.text   = $"分数:{ranking.Value}";
     }
 }
    public override async void Show()
    {
        base.Show();
        try {
            LCUser user = await LCUser.GetCurrent();

            nameText.text = user.GetNickname();
        } catch (LCException e) {
            LCUtils.LogException(e);
        }
    }
    private async void Reload()
    {
        LCLeaderboard leaderboard = LCLeaderboard.CreateWithoutData(LeaderboadName);
        ReadOnlyCollection <LCRanking> rankings = await leaderboard.GetResults(limit : 10, selectUserKeys : new string[] { "nickname" });

        foreach (LCRanking ranking in rankings)
        {
            LCUser user = ranking.User;
            Debug.Log($"{user.GetNickname()} : ${ranking.Value}");
        }

        scrollRect.SetItemData(rankings);
    }
Example #9
0
    private async void Reload()
    {
        scrollRect.ClearItemData();

        nameText.text = target.GetNickname();

        client            = LCManager.Instance.IMClient;
        client.OnMessage += OnMessage;
        conversation      = await client.CreateConversation(new string[] { target.ObjectId });

        // 拉取历史消息
        ReadOnlyCollection <LCIMMessage> messages = await conversation.QueryMessages();

        foreach (LCIMMessage message in messages)
        {
            AddMessage(message);
        }
    }
Example #10
0
    private async Task <string> GetConversationName(LCIMConversation conv)
    {
        if (conv.Name != null)
        {
            return(conv.Name);
        }

        LCIMClient client = LCManager.Instance.IMClient;

        if (conv.MemberIds.Count == 2)
        {
            // 私聊
            string targetId = conv.MemberIds[0] == client.Id ? conv.MemberIds[1] : conv.MemberIds[0];
            target = await LCManager.Instance.GetUser(targetId);

            return(target.GetNickname());
        }
        return("Group");
    }
Example #11
0
 public void Show(LCUser target)
 {
     this.target    = target;
     titleText.text = target.GetNickname();
     gameObject.SetActive(true);
 }