/// <summary> /// 删除任务点 /// </summary> private void DeletePoint(TaskContentAsset asset, TaskContentBase content) { int index = content.Points.IndexOf(this); for (int i = 0; i < content.Depends.Count; i++) { TaskDepend depend = content.Depends[i]; if (depend.OriginalPoint == index || depend.DependPoint == index) { content.Depends.RemoveAt(i); i -= 1; } else { if (depend.OriginalPoint > index) { depend.OriginalPoint -= 1; } if (depend.DependPoint > index) { depend.DependPoint -= 1; } } } content.Points.Remove(this); TaskContentAsset.DestroySerializeSubObject(this, asset); }
/// <summary> /// 删除任务内容 /// </summary> private void DeleteContent(int taskIndex) { for (int i = 0; i < _contentAsset.Content[taskIndex].Points.Count; i++) { TaskContentAsset.DestroySerializeSubObject(_contentAsset.Content[taskIndex].Points[i], _contentAsset); } TaskContentAsset.DestroySerializeSubObject(_contentAsset.Content[taskIndex], _contentAsset); _contentAsset.Content[taskIndex].Depends.Clear(); _contentAsset.Content[taskIndex].Points.Clear(); _contentAsset.Content.RemoveAt(taskIndex); _taskContentList.index = -1; _currentContent = null; HasChanged(_contentAsset); }