private static void AddToAMMSettings(UM_InAppProduct prod) { if (prod.AmazonId.Equals(string.Empty)) { return; } AmazonProductTemplate newTpl = new AmazonProductTemplate(); newTpl.Sku = prod.AmazonId; newTpl.Description = prod.Description; newTpl.Title = prod.DisplayName; newTpl.LocalizedPrice = prod.LocalizedPrice; newTpl.Texture = prod.Texture; newTpl.IsOpen = false; if (prod.Type == UM_InAppType.Consumable) { newTpl.ProductType = AMN_InAppType.CONSUMABLE; } if (prod.Type == UM_InAppType.NonConsumable) { newTpl.ProductType = AMN_InAppType.ENTITLED; } AmazonNativeSettings.Instance.InAppProducts.Add(newTpl); }
private int IsExistsInSettings(AmazonProductTemplate product) { foreach (AmazonProductTemplate p in AmazonNativeSettings.Instance.InAppProducts) { if (p.Sku.Equals(product.Sku)) { return(AmazonNativeSettings.Instance.InAppProducts.IndexOf(p)); } } return(-1); }
public void SetTemplate(AmazonProductTemplate tpl) { _AmazonTemplate = tpl; _template = new UM_InAppProductTemplate(); _template.id = tpl.Sku; _template.title = tpl.Title; _template.description = tpl.Description; _template.price = tpl.Price.ToString(); DisplayName = tpl.Title; Description = tpl.Description; _isTemplateSet = true; }
public void AddProduct(string sku) { AmazonProductTemplate product = new AmazonProductTemplate() { Sku = sku }; int index = IsExistsInSettings(product); if (index != -1) { AmazonNativeSettings.Instance.InAppProducts.RemoveAt(index); } AmazonNativeSettings.Instance.InAppProducts.Add(product); Debug.Log("AddProduct(string sku)" + sku); }
private void GetProductDataHandler(GetProductDataResponse data) { availableItems = new Dictionary <string, AmazonProductTemplate>(); // for each item in the productDataMap you can get the following values for all your SKU`s foreach (KeyValuePair <string, ProductData> entry in data.ProductDataMap) { AmazonProductTemplate product = new AmazonProductTemplate(entry.Value); availableItems.Add(entry.Key, product); } unavailableSkus = data.UnavailableSkus; AMN_GetProductDataResponse result = new AMN_GetProductDataResponse(data); OnGetProductDataReceived(result); }
private void BillingSettings() { EditorGUILayout.Space(); EditorGUILayout.HelpBox("Billing Settings", MessageType.None); EditorGUI.BeginChangeCheck(); AmazonNativeSettings.Instance.IsBillingEnabled = SA.Common.Editor.Tools.ToggleFiled("Billing API", AmazonNativeSettings.Instance.IsBillingEnabled); if (EditorGUI.EndChangeCheck()) { UpdatePluginSettings(); } GUI.enabled = AmazonNativeSettings.Instance.IsBillingEnabled; EditorGUI.indentLevel++; { EditorGUILayout.BeginVertical(GUI.skin.box); EditorGUILayout.BeginHorizontal(); AmazonNativeSettings.Instance.ShowStoreParams = EditorGUILayout.Foldout(AmazonNativeSettings.Instance.ShowStoreParams, "Products"); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); if (AmazonNativeSettings.Instance.ShowStoreParams) { if (settings.InAppProducts.Count == 0) { EditorGUILayout.HelpBox("No In-App Products Added", MessageType.Warning); } foreach (AmazonProductTemplate product in AmazonNativeSettings.Instance.InAppProducts) { EditorGUILayout.BeginVertical(GUI.skin.box); EditorGUILayout.BeginHorizontal(); GUIStyle s = new GUIStyle(); s.padding = new RectOffset(); s.margin = new RectOffset(); s.border = new RectOffset(); if (product.Texture != null) { GUILayout.Box(product.Texture, s, new GUILayoutOption[] { GUILayout.Width(18), GUILayout.Height(18) }); } product.IsOpen = EditorGUILayout.Foldout(product.IsOpen, product.Title); EditorGUILayout.LabelField(product.Price + "$"); bool ItemWasRemoved = DrawSortingButtons((object)product, AmazonNativeSettings.Instance.InAppProducts); if (ItemWasRemoved) { return; } EditorGUILayout.EndHorizontal(); if (product.IsOpen) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(ProductIdDLabel); product.Sku = EditorGUILayout.TextField(product.Sku); if (product.Sku.Length > 0) { product.Sku = product.Sku.Trim(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(DisplayNameLabel); product.Title = EditorGUILayout.TextField(product.Title); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(IsConsLabel); //check what type is coming product.ProductType = (AMN_InAppType)EditorGUILayout.EnumPopup(product.ProductType); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(DescriptionLabel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); product.Description = EditorGUILayout.TextArea(product.Description, new GUILayoutOption[] { GUILayout.Height(60), GUILayout.Width(200) }); product.Texture = (Texture2D)EditorGUILayout.ObjectField("", product.Texture, typeof(Texture2D), false); EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.Space(); if (GUILayout.Button("Add new", EditorStyles.miniButton, GUILayout.Width(250))) { AmazonProductTemplate product = new AmazonProductTemplate(); AmazonNativeSettings.Instance.InAppProducts.Add(product); } EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); } EditorGUILayout.EndVertical(); } EditorGUI.indentLevel--; GUI.enabled = true; }