void ProcessResult(ApiInfo rpInfo)
{
if (!r_CurrentBattleID.HasValue)
return;
using (var rTransaction = Connection.BeginTransaction())
{
using (var rCommand = Connection.CreateCommand())
{
rCommand.CommandText = "UPDATE battle_detail.battle SET result = @result WHERE id = @id;";
rCommand.Parameters.AddWithValue("@id", r_CurrentBattleID.Value);
rCommand.Parameters.AddWithValue("@result", CompressJson(rpInfo.Json["api_data"]));
if (rpInfo.Api == "api_req_practice/battle_result")
{
rCommand.CommandText += "UPDATE battle_detail.practice SET rank = @rank WHERE id = @id;";
rCommand.Parameters.AddWithValue("@rank", (int)((RawBattleResult)rpInfo.Data).Rank);
}
rCommand.ExecuteNonQuery();
}
var rStage = BattleInfo.Current.CurrentStage;
ProcessHeavilyDamagedShip(rStage.FriendMain, ParticipantFleetType.Main);
if (rStage.FriendEscort != null)
ProcessHeavilyDamagedShip(rStage.FriendEscort, ParticipantFleetType.Escort);
rTransaction.Commit();
}
r_CurrentBattleID = null;
}
void ProcessHeavilyDamagedShip(IList<BattleParticipantSnapshot> rpParticipants, ParticipantFleetType rpType)