Ejemplo n.º 1
0
 public DrawnSceneObject(DrawnSceneObject DSO, Scene ParentScene) : base(DSO, ParentScene)
 {
     this.Type = SceneObjectType.DrawnSceneObject;
     if (DSO._Visual.Type == DrawObjectType.Actor)
     {
         this._Visual = new Actor((Actor)DSO._Visual);
     }
     else if (DSO._Visual.Type == DrawObjectType.Background)
     {
         this._Visual = new Background((Background)DSO._Visual);
     }
     else if (DSO._Visual.Type == DrawObjectType.Camera)
     {
         this._Visual = new Camera((Camera)DSO._Visual);
     }
     else if (DSO._Visual.Type == DrawObjectType.Light)
     {
         this._Visual = new Light((Light)DSO._Visual);
     }
     else if (DSO._Visual.Type == DrawObjectType.Sprite)
     {
         this._Visual = new Sprite((Sprite)DSO._Visual);
     }
     else if (DSO._Visual.Type == DrawObjectType.Tile)
     {
         this._Visual = new Tile((Tile)DSO._Visual);
     }
     this.Events = new EventsPackage(DSO.Events, ParentScene);
 }
Ejemplo n.º 2
0
        public static DrawnSceneObject Deserialize(string Path)
        {
            XmlSerializer    Deserializer            = new XmlSerializer(typeof(DrawnSceneObject));
            TextReader       Reader                  = new StreamReader(Path);
            DrawnSceneObject CurrentDrawnSceneObject = (DrawnSceneObject)Deserializer.Deserialize(Reader);

            Reader.Close();
            return(CurrentDrawnSceneObject);
        }
Ejemplo n.º 3
0
        public static void Serialize(DrawnSceneObject CurrentDrawnSceneObject, string Path)
        {
            XmlSerializer Serializer = new XmlSerializer(typeof(DrawnSceneObject));

            using (TextWriter Writer = new StreamWriter(Path))
            {
                Serializer.Serialize(Writer, CurrentDrawnSceneObject);
            }
        }
Ejemplo n.º 4
0
        public static SceneObject FromFile(string FilePath, Scene CurrentScene)
        {
            if (!File.Exists(FilePath))
            {
                return(null);
            }
            SceneObject New = null;

            if (FilePath.ToUpper().EndsWith(".OBJ") && CurrentScene.Type == SceneType.Scene3D)
            {
                OBJContainer OBJ = new OBJContainer();
                OBJ.Load(FilePath, null);
                if (OBJ.Geometries[0].Normals.Count == 0)
                {
                    OBJ.RecalculateNormals();
                }
                OBJ.Repack();
                Actor NewActor = new Actor(OBJ, Path.GetFileNameWithoutExtension(FilePath));
                NewActor.Scale  = new Vertex(0.001f, 0.001f, 0.001f);
                New             = new DrawnSceneObject(NewActor.Name, NewActor);
                New.ParentScene = CurrentScene;
            }
            return(New);
        }