Small ResourceManager refactor, add ResourceSaver<T>.
This commit is contained in:
@@ -5,6 +5,8 @@ using DaggerFramework.Rendering;
|
||||
using DaggerFramework.Audio;
|
||||
using DaggerFramework.Resources;
|
||||
using DaggerFramework.SceneGraph;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
|
||||
public class TestGame : Game
|
||||
@@ -17,6 +19,8 @@ public class TestGame : Game
|
||||
_audioBackend = new FmodAudioBackend();
|
||||
_inputHandler = new RaylibInputHandler();
|
||||
|
||||
_resourceManager.AddResourceSaverAssociation(new SerializedSceneSaver());
|
||||
|
||||
_renderer.CreateAndInitialize(new WindowSettings()
|
||||
{
|
||||
Title = "Test Game",
|
||||
@@ -29,7 +33,13 @@ public class TestGame : Game
|
||||
|
||||
_audioBackend.Initialize();
|
||||
|
||||
_scene = new Scene(_renderer, _inputHandler, _audioBackend, _resourceManager);
|
||||
_scene = new Scene(new SceneSettings()
|
||||
{
|
||||
Renderer = _renderer,
|
||||
AudioBackend = _audioBackend,
|
||||
InputHandler = _inputHandler,
|
||||
ResourceManager = _resourceManager
|
||||
});
|
||||
|
||||
_uiLayer = new UiLayer();
|
||||
_worldLayer = new EntityLayer();
|
||||
@@ -71,6 +81,13 @@ public class TestGame : Game
|
||||
|
||||
_scene.AddLayer("UI", _uiLayer!);
|
||||
|
||||
SerializedScene serializedScene;
|
||||
|
||||
if (_scene!.TrySerialize(out serializedScene))
|
||||
{
|
||||
_resourceManager.TrySave(Path.Combine(_resourceManager.ResourceRoot, "main.scene"), in serializedScene);
|
||||
}
|
||||
|
||||
_scene.Start();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user