void Save(SpriteSheet sheet, bool isRequireUpdate = true) { if (!sheet) { return; } try { if (isRequireUpdate) { sheet.ForceUpdateAll(); } string path = AssetDatabase.GetAssetPath(sheet); if (string.IsNullOrEmpty(path)) { return; } EditorUtility.SetDirty(sheet); AssetDatabase.StartAssetEditing(); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } catch (Exception e) { Debug.LogWarning(string.Format("SPRITE_SHEET_EDITOR_SAVE_EXCEPTION:{0}", e)); } finally { AssetDatabase.StopAssetEditing(); } }