コード例 #1
0
ファイル: SceneSerializing.cs プロジェクト: woncomp/LiliumLab
 public static void Serialize(Lilium.Scene scene, string filePath)
 {
     var sceneSerializing = new Scene();
     sceneSerializing.FromScene(scene);
     var str = JsonConvert.SerializeObject(sceneSerializing, Formatting.Indented);
     System.IO.File.WriteAllText(filePath, str);
 }
コード例 #2
0
ファイル: SceneSerializing.cs プロジェクト: woncomp/LiliumLab
 void FromScene(Lilium.Scene scene)
 {
     Entities = scene.Entities.Select(src =>
     {
         var dest = new SceneEntity();
         dest.Mesh = src.Mesh.ResourceName;
         dest.Materials = src.SubmeshMaterials.Select(m =>
             {
                 if (m == null) return null;
                 else return m.Desc.ResourceName;
             }).ToArray();
         dest.Position = src.Position;
         dest.Rotation = src.Rotation;
         dest.Scale = src.Scale;
         dest.StencilShadowIndensity = src.StencilShadowIndensity;
         return dest;
     }).ToArray();
 }
コード例 #3
0
ファイル: SceneSerializing.cs プロジェクト: woncomp/LiliumLab
        void LoadScene(Lilium.Scene scene)
        {
            for (int i = 0; i < Entities.Length; ++i)
            {
                var entityS = Entities[i];

                var entity = new Lilium.Entity(entityS.Mesh);
                if(entity.Mesh != null)
                {
                    entity.SubmeshMaterials = entityS.Materials.Select(name => name == null ? null : Game.Instance.ResourceManager.Material.Load(name)).ToArray();
                    entity.Position = entityS.Position;
                    entity.Rotation = entityS.Rotation;
                    entity.Scale = entityS.Scale;
                    entity.StencilShadowIndensity = entityS.StencilShadowIndensity;
                    scene.Entities.Add(entity);
                    Game.Instance.AddObject(entity);
                }
            }
        }
コード例 #4
0
ファイル: SceneSerializing.cs プロジェクト: woncomp/LiliumLab
 public static void Deserialize(Lilium.Scene scene, string filePath)
 {
     var str = System.IO.File.ReadAllText(filePath);
     var sceneSerializing = JsonConvert.DeserializeObject<Scene>(str);
     sceneSerializing.LoadScene(scene);
 }