/// <summary> /// Removes a chart object (note, starpower and/or chart event) from the chart. /// </summary> /// <param name="chartObject">Item to add.</param> /// <param name="update">Automatically update all read-only arrays? /// If set to false, you must manually call the updateArrays() method, but is useful when removing multiple objects as it increases performance dramatically.</param> /// <returns>Returns whether the removal was successful or not (item may not have been found if false).</returns> public bool Remove(ChartObject chartObject, bool update = true) { bool success = SongObjectHelper.Remove(chartObject, _chartObjects); if (success) { chartObject.chart = null; chartObject.song = null; } if (update) { UpdateCache(); } return(success); }
/// <summary> /// Removes an event object (section or event) from the song. /// </summary> /// <param name="autoUpdate">Automatically update all read-only arrays? /// If set to false, you must manually call the updateArrays() method, but is useful when removing multiple objects as it increases performance dramatically.</param> /// <returns>Returns whether the removal was successful or not (item may not have been found if false).</returns> public bool Remove(Event eventObject, bool autoUpdate = true) { bool success = false; success = SongObjectHelper.Remove(eventObject, _events); if (success) { eventObject.song = null; } if (autoUpdate) { UpdateCache(); } return(success); }
/// <summary> /// Removes a synctrack object (bpm or time signature) from the song. /// </summary> /// <param name="autoUpdate">Automatically update all read-only arrays? /// If set to false, you must manually call the updateArrays() method, but is useful when removing multiple objects as it increases performance dramatically.</param> /// <returns>Returns whether the removal was successful or not (item may not have been found if false).</returns> public bool Remove(SyncTrack syncTrackObject, bool autoUpdate = true) { bool success = false; if (syncTrackObject.tick > 0) { success = SongObjectHelper.Remove(syncTrackObject, _syncTrack); } if (success) { syncTrackObject.song = null; } if (autoUpdate) { UpdateCache(); } return(success); }