static SOWBool ConvertSOBoolToSOWBool(SOBool soBool, string assetPath) { SOWBool newWatchableBool = ScriptableObject.CreateInstance <SOWBool>(); newWatchableBool.Mode = soBool.Mode; newWatchableBool.Description = soBool.Description; newWatchableBool.Value = soBool.Value; AssetDatabase.DeleteAsset(assetPath); AssetDatabase.CreateAsset(newWatchableBool, assetPath); return(newWatchableBool); }
static void ConvertSOBoolToSOWBools() { List <Object> convertedAssets = new List <Object>(); string[] assetsGUIDs = Selection.assetGUIDs; for (int i = 0; i < assetsGUIDs.Length; ++i) { string assetPath = AssetDatabase.GUIDToAssetPath(assetsGUIDs[i]); SOBool soBool = AssetDatabase.LoadAssetAtPath <SOBool>(assetPath); if (soBool && !(soBool is SOWBool)) { SOWBool newSOWBool = ConvertSOBoolToSOWBool(soBool, assetPath); convertedAssets.Add(newSOWBool); } } Selection.objects = convertedAssets.ToArray(); }