void AddProductToList(AppcoinsSku product) { //Get the AppcoinsUnity script component AppcoinsUnity[] objs = FindObjectsOfType <AppcoinsUnity>(); AppcoinsUnity appcoins = objs[0]; //Check if product is in the list, if it isn't add it! bool found = false; foreach (AppcoinsSku existingProduct in appcoins.products) { if (existingProduct == product) { found = true; break; } } if (!found) { int length = appcoins.products.Length; AppcoinsSku[] newProducts = new AppcoinsSku[length + 1]; int i = 0; foreach (AppcoinsSku existingProduct in appcoins.products) { newProducts[i++] = existingProduct; } newProducts[i] = product; appcoins.products = newProducts; } }
public override void OnInspectorGUI() { AppcoinsSku product = (AppcoinsSku)target; GUILayout.Label("The name of your in-app product"); product.Name = EditorGUILayout.TextField("Product Name", product.Name); GUILayout.Label("The skuid of your in-app product"); product.SKUID = EditorGUILayout.TextField("Product SKUID", product.SKUID); GUILayout.Label("Price in Appcoins currency(APPC)"); product.Price = EditorGUILayout.DoubleField("Price", product.Price); GUILayout.Label("Should the product be added to the product list?"); shouldAddToProductList = EditorGUILayout.Toggle("Add to list?", shouldAddToProductList); //if (GUILayout.Button("Apply")) { // //Rename the asset to have the same name as the product name // //Get the path to the selected Scriptable object // string path = AssetDatabase.GetAssetPath(Selection.activeObject); // string newName = product.Name; // AssetDatabase.RenameAsset(path, newName); // AssetDatabase.SaveAssets(); // AssetDatabase.Refresh(); // if (shouldAddToProductList) { // AddProductToList(product); // } //} }
public static void CreateMyAsset() { AppcoinsSku asset = ScriptableObject.CreateInstance <AppcoinsSku>(); if (!AssetDatabase.IsValidFolder("Assets/Products")) { string guid = AssetDatabase.CreateFolder("Assets", "Products"); } AssetDatabase.CreateAsset(asset, "Assets/AppcoinsUnity/Products/" + DEFAULT_APPCOINS_PRODUCT_NAME + "_Appcoins.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; }