public override void Draw()
    {
        if (!vShopInfoUpdated)
        {
          if (MNDirect.GetVShopProvider().IsVShopInfoNeedUpdate())
          {
        MNDirect.GetVShopProvider().DoVShopInfoUpdate();
          }
          else
          {
        vShopInfoUpdated = true;
          }
        }

        if (vShopInfoUpdated)
        {
          if (vShopPackArray == null)
          {
        vShopPackArray = MNDirect.GetVShopProvider().GetVShopPackList();
          }

          for (int index = 0;index < vShopPackArray.Length;index++)
          {
        if (GUILayout.Button("ID:"+vShopPackArray[index].Id+" "+vShopPackArray[index].Name+" "+(float)vShopPackArray[index].PriceValue/100+" $"))
        {
           vShopPackItem = vShopPackArray[index];

           PPSDemoMain.stackView.Push(new PPSDemoShopPacksDetailView(vShopPackItem));
        }
          }
        }
        else
        {
          GUILayout.Label(PPSDemoCommonInfo.InformationUpdatingMessage);
        }
    }
        public MNVShopProvider.VShopPackInfo[] GetVShopPackList()
        {
            MNTools.DLog("MNVShopProvider:GetVShopPackList");

              if (Application.platform == RuntimePlatform.Android) {
            List<object> deserializedArray = MNUnityCommunicator.Serializer.DeserializeArray(
              MNVShopProviderUnityClass.CallStatic<string>("getVShopPackList"),
              typeof(MNVShopProvider.VShopPackInfo));

            MNVShopProvider.VShopPackInfo[] resultArray = new MNVShopProvider.VShopPackInfo[deserializedArray.Count];

            for (int index = 0;index < deserializedArray.Count;index++) {
              resultArray[index] = (MNVShopProvider.VShopPackInfo)(deserializedArray[index]);
            }

            return resultArray;
              }
              else {
            return new MNVShopProvider.VShopPackInfo[0];
              }
        }
 public PPSDemoShopPacksDetailView(MNVShopProvider.VShopPackInfo vShopPackItem)
 {
     viewName = "Shop Packs Detail";
     this.vShopPackItem = vShopPackItem;
 }
        public static MNVShopProvider.VShopPackInfo MNVShopProviderVShopPackInfoFromDictionary(IDictionary deserializedObject)
        {
            if (deserializedObject == null) {
            return null;
              }

              MNVShopProvider.VShopPackInfo typedResult = new MNVShopProvider.VShopPackInfo();

              typedResult.AppParams = (string)deserializedObject["AppParams"];
              typedResult.CategoryId = Convert.ToInt32(deserializedObject["CategoryId"]);

              List<object> deserializedItems = (List<object>)deserializedObject["Delivery"];
              MNVShopProvider.VShopDeliveryInfo[] items = null;

              if (deserializedItems != null) {
            items = new MNVShopProvider.VShopDeliveryInfo[deserializedItems.Count];

            for (int index = 0;index < deserializedItems.Count;index++) {
              items[index] = MNVShopProviderVShopDeliveryInfoFromDictionary((IDictionary)deserializedItems[index]);
            }
              }

              typedResult.Delivery = items;

              typedResult.Description = (string)deserializedObject["Description"];
              typedResult.Id = Convert.ToInt32(deserializedObject["Id"]);
              typedResult.Model = Convert.ToInt32(deserializedObject["Model"]);
              typedResult.Name = (string)deserializedObject["Name"];
              typedResult.PriceItemId = Convert.ToInt32(deserializedObject["PriceItemId"]);
              typedResult.PriceValue = Convert.ToInt64(deserializedObject["PriceValue"]);
              typedResult.SortPos = Convert.ToInt32(deserializedObject["SortPos"]);

              return typedResult;
        }