private async Task <TaskResult> DoSingle(int equipmentId, int magic) { var p = await writer.UpgradeEquipmentAsync(equipmentId, magic); if (p == null) { return(TaskResult.LostConnection); } if (p.HasError) { // Giá trị ma lực đã đổi. // Đóng băng. // Không đủ bạc. return(TaskResult.CanBeDone); } if (!p.Successful) { // Thất bại, làm lại. return(await DoSingle(equipmentId, magic)); } return(TaskResult.Done); }