private static void AddAsset <T>(IConsole console, string assets, AssetRefList <T> list, ProjectFile pf) where T : Asset { string[] assetSplit = assets.Split(','); List <int> indices = new List <int>(); foreach (string asset in assetSplit) { int ind = list.FindIndex(asset); if (ind == -1) { console.Output.WriteLine($"Asset with name \"{asset}\" does not exist; ignoring."); } else { if (list[ind].Asset != null) { if (!console.PromptYesNo($"Asset \"{asset}\" is already in project. Overwrite?")) { continue; } } indices.Add(ind); } } pf.AddAssetsToJSON(list, indices, true); pf.SaveAssets(list); pf.SaveMain(); console.Output.WriteLine($"Added {indices.Count} assets."); }