27 lines
No EOL
768 B
C#
27 lines
No EOL
768 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using JD.Serialization;
|
|
|
|
namespace TeaBox.Scripts.TechCellToolbox
|
|
{
|
|
public static class SceneHelper
|
|
{
|
|
public static Scene LoadScene(string sceneFile)
|
|
{
|
|
var scene = (Scene)new XmlSerializer().LoadObjectFromFile(sceneFile);
|
|
return scene;
|
|
}
|
|
|
|
public static void Save(this Scene scene, string sceneFile)
|
|
{
|
|
var serializer = new XmlSerializer();
|
|
serializer.SaveObjectToFile(scene, sceneFile);
|
|
}
|
|
|
|
public static IEnumerable<T> GetAllComponents<T>(this Scene scene)
|
|
where T : ActorComponent
|
|
{
|
|
return scene.ACTORS.SelectMany(actor => actor.COMPONENTS).OfType<T>();
|
|
}
|
|
}
|
|
} |