Поэтому я использую Mono-версию Godot 3. Мои скрипты написаны на C #. Я пытаюсь следовать этому руководству: http://docs.godotengine.org/en/latest/getting_started/step_by_step/singletons_autoload.html
Но код находится в GDScript, и все мои попытки адаптировать его не увенчались успехом. У меня есть скрипты, скомпилированные правильно (пришлось добавить их в свой .csproj
), но я просто не могу получить доступ к объекту PlayerVars, который я установил в Global.cs
в TitleScene.cs
Global.cs
Настроен как автозагрузка с использованием системы; используя Годо;
public class Global : Node {
private PlayerVars playerVars;
public override void _Ready () {
this.playerVars = new PlayerVars();
int total = 5;
Godot.GD.Print(what: "total is " + total);
this.playerVars.total = total;
GetNode("/root/").Set("playerVars",this.playerVars);
}
}
PlayerVars.cs
Класс для хранения переменных.
public class PlayerVars {
public int total;
}
TitleScene.cs
- Прикреплено к моей сцене по умолчанию:
using System;
using Godot;
public class TitleScene : Node {
public override void _Ready () {
Node playervars = (Node) GetNode("/root/playerVars");
Godot.GD.Print("total in titlescene is" + playervars.total);
}
}
Я чувствую, что делаю что-то очевидное неправильно. Любые идеи?