Ejemplo n.º 1
0
        internal static TurnBasedMatch ToTurnBasedMatch(AndroidJavaObject turnBasedMatch)
        {
            if (turnBasedMatch == null)
            {
                return(null);
            }

            string matchId = turnBasedMatch.Call <string>("getMatchId");

            byte[]             data       = turnBasedMatch.Call <byte[]>("getData");
            bool               canRematch = turnBasedMatch.Call <bool>("canRematch");
            uint               availableAutomatchSlots = (uint)turnBasedMatch.Call <int>("getAvailableAutoMatchSlots");
            string             selfParticipantId       = turnBasedMatch.Call <string>("getCreatorId");
            List <Participant> participants            = ToParticipantList(turnBasedMatch);
            string             pendingParticipantId    = turnBasedMatch.Call <string>("getPendingParticipantId");

            TurnBasedMatch.MatchStatus     turnStatus  = ToMatchStatus(turnBasedMatch.Call <int>("getStatus"));
            TurnBasedMatch.MatchTurnStatus matchStatus =
                AndroidJavaConverter.ToMatchTurnStatus(turnBasedMatch.Call <int>("getTurnStatus"));
            uint     variant        = (uint)turnBasedMatch.Call <int>("getVariant");
            uint     version        = (uint)turnBasedMatch.Call <int>("getVersion");
            DateTime creationTime   = AndroidJavaConverter.ToDateTime(turnBasedMatch.Call <long>("getCreationTimestamp"));
            DateTime lastUpdateTime =
                AndroidJavaConverter.ToDateTime(turnBasedMatch.Call <long>("getLastUpdatedTimestamp"));

            return(new TurnBasedMatch(matchId, data, canRematch, selfParticipantId, participants,
                                      availableAutomatchSlots, pendingParticipantId, matchStatus, turnStatus, variant, version, creationTime,
                                      lastUpdateTime));
        }
Ejemplo n.º 2
0
        public static TurnBasedMatch ConvertMatch(string playerId, AndroidJavaObject matchObj)
        {
            List <AndroidJavaObject> list = new List <AndroidJavaObject>();

            Logger.d("AndroidTbmpClient.ConvertMatch, playerId=" + playerId);
            List <Participant> list2             = new List <Participant>();
            string             matchId           = matchObj.Call <string>("getMatchId", new object[0]);
            AndroidJavaObject  androidJavaObject = JavaUtil.CallNullSafeObjectMethod(matchObj, "getData", new object[0]);

            list.Add(androidJavaObject);
            byte[] data       = JavaUtil.ConvertByteArray(androidJavaObject);
            bool   canRematch = matchObj.Call <bool>("canRematch", new object[0]);
            int    availableAutomatchSlots = matchObj.Call <int>("getAvailableAutoMatchSlots", new object[0]);
            string selfParticipantId       = matchObj.Call <string>("getParticipantId", new object[]
            {
                playerId
            });
            AndroidJavaObject androidJavaObject2 = matchObj.Call <AndroidJavaObject>("getParticipantIds", new object[0]);

            list.Add(androidJavaObject2);
            int num = androidJavaObject2.Call <int>("size", new object[0]);

            for (int i = 0; i < num; i++)
            {
                string text = androidJavaObject2.Call <string>("get", new object[]
                {
                    i
                });
                AndroidJavaObject androidJavaObject3 = matchObj.Call <AndroidJavaObject>("getParticipant", new object[]
                {
                    text
                });
                list.Add(androidJavaObject3);
                Participant item = JavaUtil.ConvertParticipant(androidJavaObject3);
                list2.Add(item);
            }
            string pendingParticipantId = matchObj.Call <string>("getPendingParticipantId", new object[0]);

            TurnBasedMatch.MatchTurnStatus turnStatus  = JavaUtil.ConvertTurnStatus(matchObj.Call <int>("getTurnStatus", new object[0]));
            TurnBasedMatch.MatchStatus     matchStatus = JavaUtil.ConvertMatchStatus(matchObj.Call <int>("getStatus", new object[0]));
            int variant = matchObj.Call <int>("getVariant", new object[0]);

            foreach (AndroidJavaObject current in list)
            {
                if (current != null)
                {
                    current.Dispose();
                }
            }
            list2.Sort();
            return(new TurnBasedMatch(matchId, data, canRematch, selfParticipantId, list2, availableAutomatchSlots, pendingParticipantId, turnStatus, matchStatus, variant));
        }
Ejemplo n.º 3
0
 internal TurnBasedMatch(string matchId, byte[] data, bool canRematch, string selfParticipantId, List <Participant> participants, int availableAutomatchSlots, string pendingParticipantId, TurnBasedMatch.MatchTurnStatus turnStatus, TurnBasedMatch.MatchStatus matchStatus, int variant)
 {
     this.mMatchId           = matchId;
     this.mData              = data;
     this.mCanRematch        = canRematch;
     this.mSelfParticipantId = selfParticipantId;
     this.mParticipants      = participants;
     this.mParticipants.Sort();
     this.mAvailableAutomatchSlots = availableAutomatchSlots;
     this.mPendingParticipantId    = pendingParticipantId;
     this.mTurnStatus  = turnStatus;
     this.mMatchStatus = matchStatus;
     this.mVariant     = variant;
 }