JD2022-TU1/main/tools/apps/TeaBox/Script/Data/TechCellToolbox/SceneHelper.cs

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>();
}
}
}