public static void ReStartBuilding(Account acc, Village vill) { RemoveCompletedTasks(vill, acc); //remove ongoing building task for this village acc.Tasks.Remove(typeof(UpgradeBuilding), vill); if (vill.Build.Tasks.Count == 0) { return; //No build tasks } var(_, nextExecution) = UpgradeBuildingHelper.NextBuildingTask(acc, vill); acc.Tasks.Add(new UpgradeBuilding() { Vill = vill, ExecuteAt = nextExecution, }); }