About Scene Loading Utility

A custom scene loading library that allows for manipulation of the scene file before loading

Api

public class CustomScene

{
public CustomScene( SceneFile sceneFile );

//Creates an object in the custom scene
public void CreateObject( GameObject gameObject );

//Get a json object

//Find all objects by a type of a component
public IEnumerable<JsonObject> GetAllObjectsByType( Type type );

//Gets an object within the scene from a guid
public IEnumerable<JsonObject> GetAllObjectsByGuid( string guid );

//Gets an object within the scene from a name
public IEnumerable<JsonNode> GetAllObjectsByName( string name )

//Manipulate the json object

//Adds a component to a json object by a type
public void AddComponentByType( JsonObject obj, Type componentType )

//Adds a component from a json object to a JsonObject GameObject
public void AddComponent( JsonObject obj, JsonObject newComponent )

//Removes a component by a type from a JsonObject
public void RemoveComponentByType( JsonObject obj, Type type )

//Remove an object from the scene
public void RemoveObject( JsonNode obj )

//Loads the custom scene
public void LoadScene();
}

Example

public void LoadScene()

{
var customScene = new CustomScene( sceneFile );
if ( customScene.GetAllObjectsByType( typeof( SkinnedModelRenderer ) ).Count() == 0 )
{
customScene.CreateObject( new GameObject() );
}

customScene.LoadScene();
}