Exemple #1
0
	public static void MenuSavePbObject()
	{
		pb_Object[] selection = pbUtil.GetComponents<pb_Object>(Selection.transforms);
		int len = selection.Length;

		if(len < 1) return;

		string path = "";

		if(len == 1)
			path = EditorUtility.SaveFilePanel("Save ProBuilder Object", "", selection[0].name, "pbo");// "Save ProBuilder Object to File.");
		else
			path = EditorUtility.SaveFolderPanel("Save ProBuilder Objects to Folder", "", "");

		foreach(pb_Object pb in selection)
		{
			//Creates a new pb_SerializableObject object.
			pb_SerializableObject obj = new pb_SerializableObject(pb);

			//Opens a file and serializes the object into it in binary format.
			Stream stream = File.Open( len == 1 ? path : path + pb.name + ".pbo", FileMode.Create);

			BinaryFormatter formatter = new BinaryFormatter();

			formatter.Serialize(stream, obj);
			
			stream.Close();			
		}
	}
Exemple #2
0
    public static void MenuSavePbObject()
    {
        pb_Object[] selection = pbUtil.GetComponents <pb_Object>(Selection.transforms);
        int         len       = selection.Length;

        if (len < 1)
        {
            return;
        }

        string path = "";

        if (len == 1)
        {
            path = EditorUtility.SaveFilePanel("Save ProBuilder Object", "", selection[0].name, "pbo");            // "Save ProBuilder Object to File.");
        }
        else
        {
            path = EditorUtility.SaveFolderPanel("Save ProBuilder Objects to Folder", "", "");
        }

        if (path == "" || !path.EndsWith(".pbo"))
        {
            return;
        }

        foreach (pb_Object pb in selection)
        {
            //Creates a new pb_SerializableObject object.
            pb_SerializableObject obj = new pb_SerializableObject(pb);

            //Opens a file and serializes the object into it in binary format.
            Stream stream = File.Open(len == 1 ? path : path + pb.name + ".pbo", FileMode.Create);

            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(stream, obj);

            stream.Close();
        }
    }
 public bool Equals(pb_SerializableObject other)
 {
     return vertices.SequenceEqual(other.vertices) &&
             uv.SequenceEqual(other.uv) &&
             color.SequenceEqual(other.color) &&
             pb_UpgradeKitUtils.FacesAreEqual(faces, other.faces);
 }