using System.Runtime.CompilerServices; namespace BansheeEngine { /// /// Handles operations with the active scene (level). /// public static class Scene { /// /// Returns the UUID of the scene prefab. This is empty if scene hasn't been saved yet. /// internal static string ActiveSceneUUID { get; set; } /// /// Checks did we make any modifications to the scene since it was last saved. /// /// True if the scene was never saved, or was modified after last save. public static bool IsModified() { // TODO - Needs implementing return true; } /// /// Clears all scene objects from the current scene. /// public static void Clear() { Internal_ClearScene(); ActiveSceneUUID = null; } /// /// Loads a new scene. /// /// Path to the prefab to load. public static void Load(string path) { Clear(); ActiveSceneUUID = Internal_LoadScene(path); } [MethodImpl(MethodImplOptions.InternalCall)] private static extern string Internal_LoadScene(string path); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_ClearScene(); } }