public MissionOutcome(SquadManager manager, PlayerLevel level, PlayerInventory inventory, GameManager game_manager) : this(manager.killed.Count, manager.evacuated.Count, inventory.GetItem(ItemTypes.dust).GetCount(), manager.selected_units.Count, game_manager.ChoosenRegionConfig.Difficulty, level.GetProgressInLevel(), level.GetCurrentLevel(), level.GetCurrentLevel()) { PlayerInventory.Instance.ModifyItem(ItemTypes.saved_dust, LastOutcome.SuppliesGainedFinal); PlayerInventory.Instance.GetItem(ItemTypes.saved_dust).SaveValue(); level.AddProgress(LastOutcome.SuppliesGainedFinal); PlayerInventory.Instance.ModifyItem(ItemTypes.dust, -PlayerInventory.Instance.GetItem(ItemTypes.dust).GetCount()); if (manager.evacuated.Count > 0) { game_manager.ChoosenRegionConfig.CompleteInSave(); } OnMissionOutcomeSet.AttemptCall(this); }