Fix remove-while-iterating delegate bug in MissionsManager::RefreshDailyMissions
This commit is contained in:
@@ -52,15 +52,15 @@ void UMissionsManager::CollectRewards()
|
||||
|
||||
void UMissionsManager::RefreshDailyMissions(const TArray<UMission*>& NewMissions)
|
||||
{
|
||||
for (auto Mission : AvailableMissions)
|
||||
for (UMission* Mission : AvailableMissions)
|
||||
{
|
||||
Mission->OnComplete.RemoveAll(this);
|
||||
AvailableMissions.Remove(Mission);
|
||||
}
|
||||
|
||||
AvailableMissions.Reset();
|
||||
|
||||
AvailableMissions.Append(NewMissions);
|
||||
|
||||
for (auto Mission : AvailableMissions)
|
||||
for (UMission* Mission : AvailableMissions)
|
||||
{
|
||||
Mission->Init(Player);
|
||||
Mission->OnComplete.AddUObject(this, &UMissionsManager::CompleteMission);
|
||||
|
||||
Reference in New Issue
Block a user