Exemplo n.º 1
0
        public static Cards[] GetArrayWithQuerySync(Query query, QueryKind queryKind)
        {
            if (javaUnityApplicasaCards == null)
            {
                javaUnityApplicasaCards = new AndroidJavaClass("com.applicasaunity.Unity.ApplicasaCards");
            }

            AndroidJavaObject[] bigArray = javaUnityApplicasaCards.CallStatic <AndroidJavaObject[]>("ApplicasaCardsGetArrayWithQuerySync", query.innerQueryJavaObject, (int)queryKind);

            Cards[] cardsInner = null;
            for (int i = 0; i < bigArray.Length; i++)
            {
                AndroidJavaObject tempJavaObject = bigArray[i];

                AndroidJavaObject[] InnerArray = AndroidJNIHelper.ConvertFromJNIArray <AndroidJavaObject[]>(tempJavaObject.GetRawObject());
                Cards[]             cardstemp  = new Cards[InnerArray.Length];
                for (int j = 0; j < InnerArray.Length; j++)
                {
                    AndroidJavaObject tempObj = InnerArray[j];
                    cardstemp[j] = new Cards(tempObj.GetRawObject(), tempObj);
                }
                if (cardsInner == null)
                {
                    cardsInner = cardstemp;
                }
                else
                {
                    Cards[] firstOne = cardsInner;
                    cardsInner = new Cards[firstOne.Length + cardstemp.Length];
                    firstOne.CopyTo(cardsInner, 0);
                    cardstemp.CopyTo(cardsInner, firstOne.Length);
                }
            }
            return(cardsInner);
        }
Exemplo n.º 2
0
        public static IEnumerator GetArrayWithQuerySyncIEnumerator(Query query, QueryKind queryKind)
        {
            if(javaUnityApplicasaCards==null)
                javaUnityApplicasaCards = new AndroidJavaClass("com.applicasaunity.Unity.ApplicasaCards");

                AndroidJavaObject[] bigArray = javaUnityApplicasaCards.CallStatic<AndroidJavaObject[]>("ApplicasaCardsGetArrayWithQuerySync", query.innerQueryJavaObject, (int)queryKind);

            Cards[] cardsInner= null;;
            for (int i = 0;i < bigArray.Length;i++)
            {
                AndroidJavaObject tempJavaObject = bigArray[i];

                AndroidJavaObject[] InnerArray = AndroidJNIHelper.ConvertFromJNIArray<AndroidJavaObject[]>(tempJavaObject.GetRawObject());
                Cards[] cardstemp = new Cards[InnerArray.Length];
                for (int j = 0;j < InnerArray.Length;j++)
                {
                    AndroidJavaObject tempObj = InnerArray[j];
                    cardstemp[j] = new Cards(tempObj.GetRawObject(),tempObj);
                }
                if (cardsInner == null)
                    cardsInner = cardstemp;
                else{
                   Cards[] firstOne = cardsInner;
                    cardsInner = new Cards[firstOne.Length+cardstemp.Length];
                    firstOne.CopyTo(cardsInner,0);
                    cardstemp.CopyTo(cardsInner,firstOne.Length);
                }
                yield return new WaitForSeconds(0.2f);
            }
            finalCards = cardsInner;
        }