Exemplo n.º 1
0
        private void removePilotToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode node = SectorTree.SelectedNode;
            MyObjectBuilder_Sector sector = (MyObjectBuilder_Sector)node.Parent.Parent.Tag;

            Console.WriteLine("in method");

            if (node.Nodes.ContainsKey("Pilot"))
            {
                Console.WriteLine("Contains Pilot");
                TreeNode pilotNode = node.Nodes[node.Nodes.IndexOfKey("Pilot")];
                MyObjectBuilder_Cockpit cockpit = (MyObjectBuilder_Cockpit)pilotNode.Tag;
                long Pilot_id = 0;
                if (cockpit.Pilot != null)
                {
                    DialogResult dialogResult = MessageBox.Show("Overwrite \"" + SectorTree.SelectedNode.Parent.Parent.Text + "\"?", "Save", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        MyObjectBuilder_Character pilot    = (MyObjectBuilder_Character)cockpit.Pilot;
                        MyObjectBuilder_Character newPilot = (MyObjectBuilder_Character)pilot.Clone();
                        MyPositionAndOrientation  newpos   = (MyPositionAndOrientation)newPilot.PositionAndOrientation;
                        newpos.Position.X = 0;
                        newpos.Position.Y = 0;
                        newpos.Position.Z = 0;
                        newPilot.PositionAndOrientation  = newpos;
                        newPilot.AutoenableJetpackDelay  = 0;
                        newPilot.JetpackEnabled          = true;
                        newPilot.Battery.ProducerEnabled = true;
                        cockpit.Pilot = null;
                        sector.SectorObjects.Add(newPilot);
                        Pilot_id = newPilot.EntityId;
                        string file       = Path.Combine(this.saves_path, SectorTree.SelectedNode.Parent.Parent.Text, "SANDBOX_0_0_0_.sbs");
                        string backupfile = Path.Combine(this.saves_path, SectorTree.SelectedNode.Parent.Parent.Text, "SANDBOX_0_0_0_.BAK2");
                        if (File.Exists(backupfile))
                        {
                            File.Delete(backupfile);
                        }
                        File.Move(file, backupfile);
                        label1.Text = "Saving...";
                        MyObjectBuilder_Sector mySector = (MyObjectBuilder_Sector)SectorTree.SelectedNode.Parent.Parent.Tag;
                        using (FileStream sr = File.Open(file, FileMode.Create))
                        {
                            MyObjectBuilder_Base.SerializeXML(sr, mySector);
                            sr.Dispose();
                        }
                        //now update the sbc file
                        String    sbcfile = Path.Combine(this.saves_path, node.Parent.Parent.Text, "Sandbox.sbc");
                        XDocument sbcFile = XDocument.Load(sbcfile);
                        sbcFile.Root.SetElementValue("ControlledObject", Pilot_id);
                        sbcFile.Save(sbcfile);
                        this.create_tree(node.Parent.Parent, mySector);
                        label1.Text = "";
                    }
                    else
                    {
                        return;
                    }
                }
            }
        }
Exemplo n.º 2
0
        //export ship
        private void exportToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult result = saveFileDialog2.ShowDialog();

            if (result == DialogResult.OK)
            {
                string               filename = saveFileDialog2.FileName;
                TreeNode             node     = SectorTree.SelectedNode;
                MyObjectBuilder_Base myBase   = (MyObjectBuilder_Base)node.Tag;
                switch (myBase.TypeId)
                {
                case MyObjectBuilderTypeEnum.CubeGrid:
                    using (FileStream sr = File.Open(filename, FileMode.Create))
                    {
                        MyObjectBuilder_Base.SerializeXML(sr, (MyObjectBuilder_CubeGrid)SectorTree.SelectedNode.Tag);
                    }
                    break;

                case MyObjectBuilderTypeEnum.VoxelMap:
                    using (FileStream sr = File.Open(filename, FileMode.Open))
                    {
                        MyObjectBuilder_Base.SerializeXML(sr, (MyObjectBuilder_VoxelMap)SectorTree.SelectedNode.Tag);
                    }
                    break;
                }
            }
        }
Exemplo n.º 3
0
        //###################################################################### new stuff below this line ######################//


        private MyObjectBuilder_CubeGrid clone_grid(MyObjectBuilder_CubeGrid old_grid)
        {
            using (MemoryStream input_stream = new MemoryStream())
            {
                MyObjectBuilder_Base.SerializeXML(input_stream, old_grid);
                MyObjectBuilder_CubeGrid new_grid = (MyObjectBuilder_CubeGrid)MyObjectBuilder_Base.CreateNewObject(MyObjectBuilderTypeEnum.CubeGrid);
                using (MemoryStream output_stream = new MemoryStream()){
                    input_stream.CopyTo(output_stream);
                    output_stream.Seek(0, 0);
                    MyObjectBuilder_Base.DeserializeXML(output_stream, out new_grid);
                }

                return(new_grid);
            }
        }
Exemplo n.º 4
0
        //save sector
        private void saveToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Overwrite \"" + SectorTree.SelectedNode.Text + "\"?", "Save", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                string file       = Path.Combine(this.saves_path, SectorTree.SelectedNode.Text, "SANDBOX_0_0_0_.sbs");
                string backupfile = Path.Combine(this.saves_path, SectorTree.SelectedNode.Text, "SANDBOX_0_0_0_.BAK2");
                if (File.Exists(backupfile))
                {
                    File.Delete(backupfile);
                }
                File.Move(file, backupfile);
                label1.Text = "Saving...";
                MyObjectBuilder_Sector mySector = (MyObjectBuilder_Sector)SectorTree.SelectedNode.Tag;
                using (FileStream sr = File.Open(file, FileMode.Create))
                {
                    MyObjectBuilder_Base.SerializeXML(sr, mySector);
                    sr.Dispose();
                }

                label1.Text = "";
            }
        }