我已经做了一些研究,我现在有种strugguling。我想用火力地堡数据库函数写DATAS在统一的编辑器脚本。
我设法在运行时读取数据库/写漂亮伊斯利(DOC的在线是伟大的!),但是当我尝试做它在编辑的时候,它不工作。
我有一个非常明确的错误:“请注意,DontDestroyOnLoad只能在播放模式下使用,并且,正因为如此,不能编辑脚本的一部分”
考虑到这个错误,这似乎是不可能在这里使用火力地堡功能。但也有人设法使用它呢?
现在我能想到的唯一的解决办法是写一个python脚本,并从统一编辑器启动它,但是这不是真的conviniant具有以工业项目来处理大量的语言(除非你别无选择)。
感谢您的阅读,并为所有的语法错误对不起!路易
首先,你应该初始化与唯一的名称FirebaseApp的新实例火力点。我不喜欢这样写道:
FirebaseApp firebaseApp = FirebaseApp.Create(
FirebaseApp.DefaultInstance.Options,
"FIREBASE_EDITOR");
二是建立引用(DatabaseReference,StorageReference等),与此firebaseApp情况下,只有FirebaseApp.CheckAndFixDependenciesAsync后再使用()
总体代码如下所示:
public static void Initialize(bool isEditor = false)
{
if (isEditor)
{
FirebaseApp firebaseApp = FirebaseApp.Create(
FirebaseApp.DefaultInstance.Options,
"FIREBASE_EDITOR");
firebaseApp.SetEditorDatabaseUrl("https://project.firebaseio.com/");
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
{
if (task.Result == DependencyStatus.Available)
{
database = FirebaseDatabase.GetInstance(firebaseApp).RootReference;
storage = FirebaseStorage.GetInstance(firebaseApp).RootReference;
auth = FirebaseAuth.GetAuth(firebaseApp);
}
else
{
Debug.LogError(
"Could not resolve all Firebase dependencies: " + task.Result);
}
});
}
else
{
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://project.firebaseio.com/");
database = FirebaseDatabase.DefaultInstance.RootReference;
storage = FirebaseStorage.DefaultInstance.RootReference;
auth = FirebaseAuth.DefaultInstance;
}
IsInitialized = true;
}
对于之前的get / set数据编辑器初始化SDK:
FirebaseManager.Initialize(true);
然后CheckAndFixDependenciesAsync回调后,您可以在编辑器脚本中使用火力地堡。