public virtual void SetSourceAsset(T asset) { AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(asset); source = serializer.WriteToString(); typeName = asset.GetType().AssemblyQualifiedName; }
public static StatusEffectCreator CreateScriptableObject() { StatusEffectCreator asset = ScriptableObject.CreateInstance<StatusEffectCreator>(); string assetpath = "Assets/Status Effects/Status Effect.asset"; string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(assetpath); var effect = new StatusEffect(); effect.Id = Path.GetFileNameWithoutExtension(assetPathAndName); AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(effect); asset.source = serializer.WriteToString(); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return asset; }
public static AbilityCreator CreateScriptableObject() { AbilityCreator asset = ScriptableObject.CreateInstance<AbilityCreator>(); string assetpath = "Assets/Abilities/Ability.asset"; string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(assetpath); Ability ability = new Ability(); ability.Id = Path.GetFileNameWithoutExtension(assetPathAndName); AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(ability); asset.source = serializer.WriteToString(); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return asset; }
public static AbilityCreator CreateScriptableObject() { AbilityCreator asset = ScriptableObject.CreateInstance <AbilityCreator>(); string assetpath = "Assets/Abilities/Ability.asset"; string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(assetpath); Ability ability = new Ability(); ability.Id = Path.GetFileNameWithoutExtension(assetPathAndName); AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(ability); asset.source = serializer.WriteToString(); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return(asset); }
public static StatusEffectCreator CreateScriptableObject() { StatusEffectCreator asset = ScriptableObject.CreateInstance <StatusEffectCreator>(); string assetpath = "Assets/Status Effects/Status Effect.asset"; string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(assetpath); var effect = new StatusEffect(); effect.Id = Path.GetFileNameWithoutExtension(assetPathAndName); AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(effect); asset.source = serializer.WriteToString(); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return(asset); }
public static InventoryItemCreator CreateScriptableObject() { InventoryItemCreator asset = ScriptableObject.CreateInstance <InventoryItemCreator>(); string assetpath = "Assets/InventoryItems/InventoryItem.asset"; string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(assetpath); InventoryItem item = new InventoryItem(); item.Id = Path.GetFileNameWithoutExtension(assetPathAndName); AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(item); asset.source = serializer.WriteToString(); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return(asset); }
public static CharacterCreator CreateScriptableObject() { CharacterCreator asset = ScriptableObject.CreateInstance <CharacterCreator>(); string assetpath = "Assets/Characters/char.asset"; string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(assetpath); Character character = new Character(); character.Id = Path.GetFileNameWithoutExtension(assetPathAndName); AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(character); asset.source = serializer.WriteToString(); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return(asset); }
public override void OnInspectorGUI() { PlayerSkillBook skillBook = target as PlayerSkillBook; if (root == null) { if (!string.IsNullOrEmpty(skillBook.source)) { new AssetDeserializer(skillBook.source, false).DeserializeInto("__default__", skillBook); } root = new SerializedObjectX(target); } EditorGUILayoutX.DrawProperties(root); bool didChange = root.Root.ApplyModifiedProperties(); if (didChange) { AssetSerializer serializer = new AssetSerializer(); serializer.AddItem(target); serializedObject.FindProperty("source").stringValue = serializer.WriteToString(); serializedObject.ApplyModifiedProperties(); } }