Files
GhostEngine/Ghost.Engine/Services/PlayerLoopService.cs
Misaki 61bbb1bc68 Refactor project structure and enhance functionality
Added `InternalsVisibleTo` attribute for "Ghost.Editor" in `AssemblyInfo.cs`.
Added a binary file `Empty.zip` to the project.
Added a new `ProjectMetadata` class in `ProjectMetadata.cs`.
Added new states and interfaces for managing application states in `EditorState.cs`, `LandingState.cs`, and `IAppState.cs`.
Added a notification service in `INotificationService.cs` and `StackedNotificationService.cs`.
Added new XAML files for UI components, including `InspectorView.xaml` and `InternalControls.xaml`.

Changed the `ProjectInfo` class in `ProjectInfo.cs` to include a `MetadataPath` property instead of `Path` and `EngineVersion`.
Changed the `TemplateInfo` class in `TemplateInfo.cs` to use a struct instead of a class for `TemplateData`.
Changed the `ProjectService` class to use the new `ProjectRepository` for managing project data.

Removed several using directives and the entire `ProjectRepository` class from `ProjectRepository.cs`, replacing it with a new implementation.
Removed old methods and properties in `EntityManager` and `World` classes to improve entity management and component handling.

Updated the `Ghost.Data.csproj` file to include the new `Empty.zip` file as a content item.
Updated the `ProjectRepository` class to manage project data using SQLite.
Updated various XAML files to include new styles and controls, improving the overall UI design.
Updated the `CreateProjectViewModel` to include a notification service and handle project creation logic.
Updated the test project to include references to the new `Ghost.Graphics` project and modified test cases to align with the new structure.
2025-05-31 01:45:34 +09:00

56 lines
1.2 KiB
C#

namespace Ghost.Engine.Services;
internal static class PlayerLoopService
{
private static Timer? _timer;
private static bool _isRunning = false;
// TODO: Implement the actual time system
public static float fixedDeltaTime = 0.02f;
public static void Start()
{
//if (_isRunning)
//{
// return;
//}
//foreach (var gameObject in SceneManager.QueryRootGameObjects())
//{
// gameObject.Start();
//}
//_timer ??= new Timer(FixedUpdate, null, 0, (int)(fixedDeltaTime * 1000));
//while (_isRunning)
//{
// Update();
//}
}
private static void Update()
{
//foreach (var gameObject in SceneManager.QueryRootGameObjects())
//{
// gameObject.Update();
//}
//foreach (var gameObject in SceneManager.QueryRootGameObjects())
//{
// gameObject.LateUpdate();
//}
}
private static void FixedUpdate(object? state)
{
//foreach (var gameObject in SceneManager.QueryRootGameObjects())
//{
// gameObject.FixedUpdate();
//}
}
public static void Stop()
{
_isRunning = false;
}
}