Мне требуется переписать небольшой участок кода с C# на C++ для нормальной работы кода однако я не знаю как

Я не давно только начал изучать c++ да и в общем опыт в программировании не большой но что-то делать уже могу однако то чем я сейчас занимаюсь довольно сложно с моими знаниями, я использую Godot Engine для создания игр и раньше писал в встроенным в движок своим языком как python, он GDScript называется, но захотел перейти на другой язык помощнее пока не знаю зачем, я использую gdnative как называют разработчики "Меж-языковые сценарии (скрипты)" то есть можно использовать разные языки однако подключать это для меня было очень сложно, мне просто требуется переписать старый код с другого языка на c++, решение уже найдено однако я не знаю как "конвертировать" с c# на с++ пусть из-за небольшого различия в синтаксисе, или я чего-то не понимаю и компилятор выдаёт ошибку

public class Player : KinematicBody2D
{
 private AnimationNodeStateMachinePlayback _stateMachine;
public override void _PhysicsProcess(float delta)
    {
        var animTree = (AnimationTree)GetNode("AnimationTree"); //<=== Именно это
        _stateMachine = (AnimationNodeStateMachinePlayback)animTree.Get("parameters/playback"); // <=== И это
        MyFuncton();
    }


    void MyFuncton()
{
     GD.Print(stateMachine.GetCurrentNode());
}
}

а так у меня просто скопировано:

void Player::_ready()
{
    Variant animTree = (AnimationNodeStateMachinePlayback)get_node("AnimationTree");
    _stateMachine = animTree.get("parameters/playback");
}

и 3 ошибки:

1я не существует подходящего конструктора для преобразования из "godot::Node *" в "godot::AnimationNodeStateMachinePlayback"

2я class "godot::Variant" не содержит члена "get"

3я идентификатор "state_machine" не определен

я подумал что ошибки из-за различий в языках


Ответы (0 шт):