示例#1
0
    public static KTUser CurrentAccount()
    {
        //string str = (string)KT_CurrentAccount();

        //Hashtable data = (Hashtable)KTJSON.jsonDecode(str);

        //return new KTUser(data);
#if UNITY_ANDROID
        AndroidJavaObject joUser = null;
        try
        {
            joUser = KTPlayAndroid.joKTPlayAdapter.CallStatic <AndroidJavaObject>("currentAccount");
        }
        catch (System.Exception e)
        {
            Debug.Log("Failed to CurrentAccount: " + e.Message);
            return(null);
        }

        if (joUser == null)
        {
            return(null);
        }

        string userid              = joUser.Call <string>("getUserId");
        string headerurl           = joUser.Call <string>("getHeaderUrl");
        string nickname            = joUser.Call <string>("getNickname");
        int    gender              = joUser.Call <int>("getGender");
        string city                = joUser.Call <string>("getCity");
        string score               = joUser.Call <string>("getScore");
        long   rank                = joUser.Call <long>("getRank");
        string snsuserid           = joUser.Call <string>("getSnsUserId");
        string logintype           = joUser.Call <string>("getLoginType");
        string gameUserId          = joUser.Call <string>("getGameUserId");
        bool   needPresentNickname = joUser.Call <bool>("getNeedPresentNickname");

        KTUser user = new KTUser();
        user.setUserId(userid);
        user.setHeaderUrl(headerurl);
        user.setNickname(nickname);
        user.setGender(gender);
        user.setCity(city);
        user.setScore(score);
        user.setRank(rank);
        user.setSnsUserId(snsuserid);
        user.setLoginType(logintype);
        user.setGameUserId(gameUserId);
        user.setNeedPresentNickname(needPresentNickname);

        return(user);
#else
        return(null);
#endif
    }