Exemplo n.º 1
0
        protected virtual void RenameScriptableObjectIfNeeded(T obj, string name)
        {
            if (obj == null)
            {
                return;
            }

            var nameWithExtension = name ?? "";

            if (nameWithExtension.EndsWith(".asset") == false)
            {
                nameWithExtension += ".asset";
            }

            var assetPath = AssetDatabase.GetAssetPath(obj);

            if (assetPath.EndsWith(nameWithExtension) == false)
            {
                var saveFolder = InventoryScriptableObjectUtility.GetSaveFolderForType(typeof(T));
                var renamePath = saveFolder + "/" + nameWithExtension;
                if (AssetDatabase.LoadAssetAtPath <T>(renamePath) == null)
                {
                    RenameScriptableObject(obj, name ?? "nameless");
                }
            }
        }
Exemplo n.º 2
0
        protected override void CreateNewItem()
        {
            var item = ScriptableObjectUtility.CreateAsset <T>(InventoryScriptableObjectUtility.GetSaveFolderForType(typeof(T)), DateTime.Now.ToFileTimeUtc() + ".asset");

            GiveItemNewID(item);
            AddItem(item, true);
        }