Beispiel #1
0
        private SerializedComponentsContainer SetMementoComponent(Component serializableComponent)
        {
            CollisionComponentsWrapper    wrapper   = new CollisionComponentsWrapper(serializableComponent);
            SerializedComponentsContainer container = new SerializedComponentsContainer(wrapper);

            return(container);
        }
        private CollisionComponentsWrapper Deserialize(string pathToFile)
        {
            CollisionComponentsWrapper   deserializedComponent = null;
            CollisionComponentSerializer serializer            = new CollisionComponentSerializer();

            deserializedComponent = serializer.Deserialize(pathToFile) as CollisionComponentsWrapper;
            return(deserializedComponent);
        }
        private List <Component> GetMemento(Component parent, CollisionComponentsWrapper wrappedComponent)
        {
            List <Component> result = new List <Component>();

            foreach (var component in wrappedComponent.SerializedComponents)
            {
                if (component.Type == Component.ComponentType.SceneComponent)
                {
                    Component childComponent = Editor.CreateCollisionComponent();
                    childComponent.ParentComponent = parent;
                    CreateCollisionComponent(childComponent, component);
                    result.Add(childComponent);
                }
            }
            return(result);
        }
        private void serialize_B_click(object sender, EventArgs e)
        {
            if (Editor.actor == null)
            {
                return;
            }

            SaveFileDialog dlg = new SaveFileDialog();

            dlg.OverwritePrompt = false;
            var result = dlg.ShowDialog();

            if (result == DialogResult.OK)
            {
                CollisionComponentsWrapper wrappedComponents = SetMementoComponent(Editor.actor);
                Serialize(wrappedComponents, dlg.FileName);
            }
            dlg.Dispose();
        }
        private void Serialize(CollisionComponentsWrapper wrappedComponent, string pathToDir)
        {
            CollisionComponentSerializer serializer = new CollisionComponentSerializer();

            serializer.Serialize(wrappedComponent, pathToDir);
        }
        private CollisionComponentsWrapper SetMementoComponent(Component serializableComponent)
        {
            CollisionComponentsWrapper wrapper = new CollisionComponentsWrapper(serializableComponent);

            return(wrapper);
        }