예제 #1
0
        public async UniTask <Dictionary <string, int> > GetScoreAsync(string[] columns)
        {
            var hiScoreCheck = new YieldableNcmbQuery <NCMBObject>(_className);

            hiScoreCheck.WhereEqualTo(ObjectId, ObjectID);
            await hiScoreCheck.FindAsync();

            if (hiScoreCheck.Count <= 0)
            {
                return(null);
            }

            _ncmbRecord = hiScoreCheck.Result.First();

            var result = new Dictionary <string, int>();

            for (var i = 0; i < columns.Length; ++i)
            {
                var column = columns[i];
                var value  = _ncmbRecord.ContainsKey(column) ? _ncmbRecord[column].ToString() : string.Empty;
                result.Add(column, int.Parse(value));
            }

            return(result);
        }
예제 #2
0
        /// <summary>
        /// オブジェクト内から、NCMBUserのポインタを取得する
        /// </summary>
        /// <returns>NCMBUser</returns>
        /// <param name="record">オブジェクト</param>
        /// <param name="field">対象のフィールド</param>
        protected NCMBUser GetTargetUser(NCMBObject record, string field)
        {
            NCMBUser user = null;

            if (record.ContainsKey(field) && record[field] != null)
            {
                user = (NCMBUser)record[field];
            }
            return(user);
        }
예제 #3
0
    /// <summary>
    /// ランキングのオブジェクトから、ユーザ名を取得する
    /// </summary>
    /// <returns>ユーザ名</returns>
    /// <param name="obj">ランキングのオブジェクト</param>
    /// <param name="fieldName">ユーザ名のフィールド(追加設定した場合)</param>
    public string GetRankingUserName(NCMBObject obj, string fieldName = "")
    {
        // 指定のクラスのオブジェクトでなければ、エラーとする
        base.CheckMatchClass(obj.ClassName, new string[] { NCMBUTRankingsDefaultSettings.RANKING_CLASS });

        NCMBUser user = base.GetTargetUser(obj, NCMBUTRankingsDefaultSettings.RankingsDefaultFields.player.ToString());

        if (user == null)
        {
            if (obj.ContainsKey(fieldName))
            {
                return(obj[fieldName].ToString());
            }
            return("");
        }

        return(user.UserName);
    }