public Information Import( string fileName, string ssceName, SSPJImportTool.TargetAnimation[] targets )
{
var xml = new XmlDocument();
xml.Load( fileName );
// 上書き設定の読み込み
OverrideSettings overrideSettings = CreateOverrideSettings( NodeReader.findFirst( xml, "SpriteStudioAnimePack/settings" ) );
// パーツ情報
var partsNode = NodeReader.findFirst( xml, "SpriteStudioAnimePack/Model/partList" ).Children( "value" );
var parts = from p in partsNode.Nodes select new Part( p );
// セルの指定
var cellMapNames = NodeReader.findFirst( xml, "SpriteStudioAnimePack/cellmapNames" ).Children( "value" );
// アニメーション情報
var animeNode = NodeReader.findFirst( xml, "SpriteStudioAnimePack/animeList" ).Children( "anime" );
var animes = targets == null ? from a in animeNode.Nodes select new Animation( a )
: from a in animeNode.Nodes
where System.Array.Find( targets, (o) => o.File == ssceName && o.Animation == a.AtText( "name" ) ) != null
select new Animation( a );
return new Information() {
settings = overrideSettings,
cellMapNames = cellMapNames.AtText(),
parts = parts.ToList().AsReadOnly(),
animations = animes.ToList().AsReadOnly(),
};
}