using UnityEngine;
namespace Assets.Scripts
{
public class PlayerController : MonoBehaviour
{
private float moveInput;
private Rigidbody2D rigidbody;
[SerializeField] private float speed;
[SerializeField] private float jumpForce;
private void Start()
{
rigidbody = GetComponent<Rigidbody2D>();
}
private void FixedUpdate()
{
moveInput = Input.GetAxis("Horizontal");
rigidbody.velocity = new Vector2(moveInput * speed, rigidbody.velocity.y);
}
}
}
Еще и джава будет конкатенировать стринги, которые я передаю в ошибку, даже если ошибки не произошло.
Еще и джава будет конкатенировать стринги, которые я передаю в ошибку, даже если ошибки не произошло.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Threading.Tasks;
using System.Windows.Forms;
using AngleSharp.Dom;
using AngleSharp.Html.Dom;
using AngleSharp.Html.Parser;
using CefSharp;
using CefSharp.OffScreen;
namespace Arbitr
{
public partial class MainForm : Form
{
private const string DefendantsSelector = "#gr_case_partps > table > tbody > tr > td.defendants > div > ul > li:nth-child(1) > span";
private const string PlaintiffsSelector = "#gr_case_partps > table > tbody > tr > td.plaintiffs.first > div > ul > li:nth-child(1) > span";
private readonly HtmlParser parser = new HtmlParser();
private readonly string url = "https://kad.arbitr.ru/Card?number=";
private ChromiumWebBrowser browser;
private IHtmlDocument angle;
public MainForm()
{
InitializeComponent();
InitializeChromium();
browser.FrameLoadEnd += OnWebBrowserFrameLoadEnded;
}
private void InitializeChromium()
{
var settings = new CefSettings();
Cef.Initialize(settings);
browser = new ChromiumWebBrowser();
}
private void OnWebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e)
{
Debug.WriteLine($"{nameof(OnWebBrowserFrameLoadEnded)}. Frame.IsMain: {e.Frame.IsMain.ToString()}; e.Url: {e.Url};");
if (e.Frame.IsMain && e.Url.Contains(url))
{
Invoke((MethodInvoker)(async () =>
{
await UpdateData();
}));
}
}
private void OnFindButtonClick(object sender, EventArgs e)
{
ClearTextInLabel();
browser.Load($"{url}{WebUtility.UrlEncode(textBox1.Text)}");
}
private async Task UpdateData()
{
Debug.WriteLine($"{nameof(UpdateData)}.");
ClearTextInLabel();
string html = await browser.GetSourceAsync();
if (!string.IsNullOrEmpty(html))
{
angle = parser.ParseDocument(html);
var defendantsElement = angle.QuerySelector("#gr_case_partps > table > thead > tr > td.defendants > div");
if (defendantsElement != null)
{
if (defendantsElement.TextContent.Trim() == "Ответчики")
{
Debug.WriteLine($"{nameof(UpdateData)}. {defendantsElement.TextContent}");
PlaintiffsTop.Text = "Истцы:";
foreach (IElement element in GetElementsBySelector(PlaintiffsSelector))
{
Plaintiffs.Text += element.TextContent.Trim() + "\n\n";
Debug.WriteLine($"{nameof(UpdateData)}. Истцы.");
}
foreach (IElement element in GetElementsBySelector(DefendantsSelector))
{
Defendants.Text += element.TextContent.Trim() + "\n\n";
Debug.WriteLine($"{nameof(UpdateData)}. Ответчики.");
}
DefendantsTop.Text = "Ответчики:";
}
else
{
foreach (IElement element in GetElementsBySelector(PlaintiffsSelector))
{
Plaintiffs.Text += element.TextContent.Trim() + "\n\n";
}
PlaintiffsTop.Text = "Кредиторы (заявители):";
foreach (IElement element in GetElementsBySelector(DefendantsSelector))
{
Defendants.Text += element.TextContent.Trim() + "\n\n";
}
DefendantsTop.Text = "Должники:";
}
}
}
}
private void ClearTextInLabel()
{
Plaintiffs.Text = string.Empty;
Defendants.Text = string.Empty;
}
private List<IElement> GetElementsBySelector(string selector)
{
IElement element = angle.QuerySelector(selector);
var elements = new List<IElement>();
int i = 1;
while (element != null)
{
elements.Add(element);
i++;
selector = selector.Replace((i - 1).ToString(), i.ToString());
element = angle.QuerySelector(selector);
}
return elements;
}
}
}
Прям весь проект не смог. Интернет очень плохой.
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AngleSharp" Version="0.16.0" />
<PackageReference Include="CefSharp.OffScreen" Version="91.1.230" />
<PackageReference Include="CefSharp.WinForms" Version="91.1.230" />
</ItemGroup>
</Project>