npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

com.iron-mountain.scene-management

v1.7.0

Published

A system for loading scenes, tracking scene dependencies, and storing scene metadata.

Downloads

368

Readme

Scene Management

Version: 1.5.0

Description:

A system for loading scenes, tracking scene dependencies, and storing scene metadata.

Use Cases:

  • Manage scene metadata, such as id, initial screen orientation, and initial Time.scale.
  • Load scenes with fade effects (fade old scene out, fade loading scene in, fade loading scene out, fade new scene in)
  • Build loading screens with progress bars and percentage counters.
  • Manage scene dependencies and automatically load them when they're needed.
  • Manage lists of scenes, and apply a list to the build settings.

Directions for Use:

SceneData Scriptable Object that stores metadata about a scene. Must be named exactly the same as the scene it represents. Create > Scriptable Objects > Scene Management > SceneData SceneDatabase Stores all SceneData instances, and is used to rapidly switch between scenes. Create > Scriptable Objects > Scene Management > Database SceneList A customizable list of SceneDatas. Create > Scriptable Objects > Scene Management > SceneList SceneManager (singleton) Attach to a GameObject. Use this singleton to load scenes.

Package Mirrors:

Key Scripts & Components:

  1. public class Database : ScriptableObject
    • Properties:
      • public List Scenes { get; }
      • public SceneData LoginScene { get; }
      • public SceneData FirstGameScene { get; }
    • Methods:
      • public SceneData GetSceneByName(String sceneName)
      • public SceneData GetSceneByID(String id)
      • public SceneData GetRandomScene()
      • public void SortList()
      • public void RebuildDictionary()
      • public override String ToString()
  2. public class LoadSceneAfterSeconds : SceneChanger
  3. public class SceneChanger : MonoBehaviour
    • Methods:
      • public void LoadScene(SceneData sceneData)
  4. public class SceneData : ScriptableObject
    • Properties:
      • public String ID { get; }
      • public String Path { get; }
      • public String Name { get; }
      • public String SceneName { get; }
      • public ScreenOrientation ScreenOrientation { get; }
      • public List DependencyLists { get; }
      • public List DependencyScenes { get; }
      • public List Dependencies { get; }
    • Methods:
      • public Boolean DependsOn(Scene scene)
      • public void Load(float delay)
      • public void Load()
      • public virtual void ActivateSettings()
      • public virtual void OnThisSceneLoaded()
      • public virtual void OnThisSceneUnloaded()
      • public virtual void Reset()
      • public virtual void OnValidate()
  5. public static class SceneDataManager
  6. public class SceneList : ScriptableObject
    • Properties:
      • public List Scenes { get; }
      • public List SceneNames { get; }
  7. public static class SceneListsManager
  8. public class SceneManager : MonoBehaviour
    • Properties:
      • public Database SceneDatabase { get; }
      • public float Progress { get; }
      • public float GameSceneFadeOutSeconds { get; }
      • public float LoadingSceneFadeInSeconds { get; }
      • public float LoadingSceneFadeOutSeconds { get; }
      • public float GameSceneFadeInSeconds { get; }
      • public State CurrentState { get; }
    • Methods:
      • public SceneData GetSceneByName(String sceneName)
      • public SceneData GetSceneByID(String id)
      • public SceneData GetRandomScene()
      • public void LoadLoginScene()
      • public void LoadSceneByName(String sceneName, float delay)
      • public void LoadSceneByID(String id, float delay)
      • public void LoadScene(SceneData scene, float delay)
      • public SceneData GetActiveSceneData()

Launch

  1. public interface ISceneLaunchPlugin
    • Actions:
      • public event Action OnStatusMessageChanged
    • Properties:
      • public Int32 Priority { get; }
      • public Boolean IsReady { get; }
      • public String StatusMessage { get; }
      • public SceneData SceneToLaunch { get; }
  2. public class RuntimePlatformSceneLaunchPlugin : MonoBehaviour
    • Actions:
      • public event Action OnStatusMessageChanged
    • Properties:
      • public Int32 Priority { get; }
      • public Boolean IsReady { get; }
      • public String StatusMessage { get; }
      • public SceneData SceneToLaunch { get; }
  3. public class SceneLaunchManager : SceneChanger
    • Actions:
      • public event Action OnCurrentPluginChanged
    • Properties:
      • public ISceneLaunchPlugin CurrentPlugin { get; }
      • public Boolean Launching { get; }
    • Methods:
      • public void Launch()
  4. public class SceneLaunchPlugin : MonoBehaviour
    • Actions:
      • public event Action OnStatusMessageChanged
    • Properties:
      • public Int32 Priority { get; }
      • public Boolean IsReady { get; }
      • public String StatusMessage { get; }
      • public SceneData SceneToLaunch { get; }

Launch. U I

  1. public class SceneLaunchManagerStatusText : MonoBehaviour

U I

  1. public class BasicSceneChangeButton : SceneChangeButton
    • Properties:
      • public SceneData SceneData { get; }
  2. public class CloseApplicationButton : MonoBehaviour
  3. public abstract class SceneChangeButton : SceneChanger
  4. public class SceneFadingAnimation : MonoBehaviour
  5. public class SceneLoadingProgressText : MonoBehaviour
  6. public class SceneLoadingScreen : MonoBehaviour