public PROJECT_ERROR_TYPE ModifyRefTableAfterRemoveSprite(string[] spritePathTable) { PROJECT_ERROR_TYPE errorType = PROJECT_ERROR_TYPE.PROJECT_ERROR_NONE; if (null == spritePathTable) { return(PROJECT_ERROR_TYPE.PROJECT_ERROR_SPRITEIMAGE_PATH); } foreach (var spriteItem in spritePathTable) { //遍历全部移动Sprite foreach (var refAssetItem in ReferenceTable) { //遍历全部反依赖项目,并删除移动Sprite refAssetItem.ReferencingSprite.Remove(System.IO.Path.GetFileNameWithoutExtension(spriteItem)); } } //删除无用反依赖记录 for (int i = ReferenceTable.Count - 1; i >= 0; i--) { if (0 == ReferenceTable[i].ReferencingSprite.Count) { ReferenceTable.RemoveAt(i); } } return(errorType); }