using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine; namespace MeatKit { [CreateAssetMenu(menuName = "MeatKit/Build Items/Store Files", fileName = "New build item")] public class StoreFilesBuildItem : BuildItem { public string BundleName; public Object[] Items; public override IEnumerable RequiredDependencies { get { return new string[0]; } } public override Dictionary Validate() { var messages = base.Validate(); if (BundleName != Extensions.MakeValidFileName(BundleName)) messages["BundleName"] = BuildMessage.Error("Bundle name contains invalid characters."); return messages; } public override List ConfigureBuild() { List bundles = new List(); bundles.Add(new AssetBundleBuild { assetBundleName = BundleName, assetNames = Items.Select(AssetDatabase.GetAssetPath).ToArray() }); return bundles; } } }