public Vector3 getActiveCameraPosition() { if (CameraList == null) { WarningSystem.addWarning("Null camera list", "Attempt to get active camera POSITION failed", Code.Error); return(Vector3.zero); } return(CameraList[1].gameObject.transform.position); }
public void setActiveCameraRotation(Quaternion newRotation) { if (CameraList == null) { WarningSystem.addWarning("Null camera list", "Restoring Camera Rotation Failed", Code.Error); return; } CameraList[1].gameObject.transform.rotation = newRotation; }
public void setActiveCameraPosition(Vector3 newPosition) { if (CameraList == null) { WarningSystem.addWarning("Null camera list", "Restoring Camera Position Failed", Code.Error); return; } CameraList[1].gameObject.transform.position = newPosition; }
public Quaternion getActiveCameraRotation() { if (CameraList == null) { WarningSystem.addWarning("Null camera list", "Attempt to get active camera ROTATION failed", Code.Error); return(Quaternion.identity); } return(CameraList[1].gameObject.transform.rotation); }
private void saveNewPathData(PathData data) { WarningSystem.addWarning("Attempt to Save Pathdata", "Shouldn't be called in render", Code.Error); /* * XmlSerializer serializer = new XmlSerializer(typeof(PathData)); * //string exeFolder = System.IO.Path.GetDirectoryName(Application.ExecutablePath); * TextWriter textWriter = new StreamWriter(activeProject.projectFolderPath + "\\paths\\" + data.pathName + ".xml"); * serializer.Serialize(textWriter, data); * textWriter.Close(); */ }
public void removeItem(string aName) { //Check if we have it already then remove if (fileNames.Contains(aName)) { //Remove Logic } else { WarningSystem.addWarning("Removal request failed", "Attempted to remove item that was a member of collection", Code.Warning); } }
private void copyKeys() { //UpdateKeyInfoList(); if (selectedKeys.Count == 0) { WarningSystem.addWarning("Copy Frames", "No key frames to copy", Code.Info); return; } copiedKeys = new List <int>(); for (int i = 0; i < selectedKeys.Count; i++) { copiedKeys.Add(selectedKeys[i]); } ifCopied = true; WarningSystem.addWarning("Copy Frames", "Selected frames have been copied", Code.Info); }
// Use this for initialization void Start() { string path = Application.dataPath + "\\projects\\"; bool previousProjects = DirectoryUtil.AssertDirectoryExistsOrRecreate(path); if (previousProjects) { DirectoryInfo[] subDirs = DirectoryUtil.getSubDirectoriesByParent(path); foreach (DirectoryInfo info in subDirs) { ProjectData newProject = new ProjectData(); newProject.projectFolderPath = info.FullName; print("exists"); WarningSystem.addWarning("Project Found", "Path:" + newProject.projectFolderPath, Code.Info); } } }
public static DirectoryInfo[] getSubDirectoriesByParent(string directoryPath) { DirectoryInfo dir = new DirectoryInfo(directoryPath); DirectoryInfo[] subDirs = null; try { if (dir.Exists) { subDirs = dir.GetDirectories(); return(subDirs); } } catch (Exception e) { Debug.Log(e); WarningSystem.addWarning("SubDirectory Error", "Error searching supplied path for subdirectories", Code.Error); } return(subDirs); }
private void pasteKeys() { int diff = Mathf.Abs(startFrame - copiedKeys[0]); switch (checkFrames()) { case 1: WarningSystem.addWarning("Paste frames", "Select keyframes with Shift key \tand click 'copy' button before paste it", Code.Info); return; case 2: WarningSystem.addWarning("Paste frames", "Not enough space(free frames) to paste copied frames", Code.Info); return; default: break; } //paste frames for (int i = 0; i < keyInfo.Count; i++) { for (int j = 0; j < copiedKeys.Count; j++) { if (i == copiedKeys[j] && keyInfo[i].isKeyed) { //currentFrame = diff+i; //setKey (); duplicateKeys(i, diff + i); } } } InitFrameSelection(); UpdateKeyInfoList(); }
public void LoadFile(string filename) { string[] lines = File.ReadAllLines(filename); bool doData = false; Vector3[] tmpTpsData = new Vector3[1]; int tpsDataSize = 0; int count = 1; try{ foreach (string line in lines) { //added Chengde two lines, 06062013 if (line == "") //sometimes tps file will contain nothing every the other line due to users' mis-operation of tps file generation. { continue; } if (line.StartsWith("LM=")) { tpsDataSize = int.Parse(line.Remove(0, 3)); doData = true; tmpTpsData = new Vector3[tpsDataSize + 1]; } else if (line.StartsWith("IMAGE=")) { doData = false; } else if (line.StartsWith("SCALE=")) { scale = float.Parse(line.Remove(0, 6)) * ScaleConvert; } else if (doData) { if (count <= tpsDataSize) { string[] points = line.Split(' '); float x = 0; float z = float.Parse(points[0]); float y = float.Parse(points[1]); tmpTpsData[count] = new Vector3(x, y, z); //print (tmpTpsData[count]); count++; } } } }catch (Exception e) { WarningSystem.addWarning(e.Message, "Error Parsing Swordtail Morph, only single spaces?", Code.Error); Console.WriteLine("{0} Exception caught.", e); } Vector3[] newTpsPoint = new Vector3[tpsDataSize + 1]; for (int i = 1; i <= tpsDataSize; i++) { if (tmpTpsData[1].y < tmpTpsData[2].y) { newTpsPoint[i].y = (tmpTpsData[i].y - tmpTpsData[1].y) * scale; } else { newTpsPoint[i].y = (tmpTpsData[1].y - tmpTpsData[i].y) * scale; } if (tmpTpsData[1].z > tmpTpsData[16].z) { newTpsPoint[i].z = (tmpTpsData[1].z - tmpTpsData[i].z) * scale; } else { newTpsPoint[i].z = (tmpTpsData[i].z - tmpTpsData[1].z) * scale; } } tpsData = newTpsPoint; }
void OnGUI() { //GuiManager guiManager = GameObject.Find("GuiManagerObject").GetComponent<GuiManager>(); GUI.skin = GuiManager.GetSkin(); GUI.depth = 10; // Launch Screen GUI.BeginGroup(new Rect(Screen.width / 2 - 175, Screen.height / 2 - 250, 250, 380)); // All rectangles are now adjusted to the group. (0,0) is the topleft corner of the group. // We'll make a box so you can see where the group is on-screen. GUI.Box(new Rect(0, 0, 250, 380), "Anyfish Editor"); if (GUI.Button(new Rect(65, 40, 120, 32), "New Project")) { isDisplayingNamePrompt = true; } if (GUI.Button(new Rect(65, 80, 120, 32), "Load Project")) { if (projectSelectionIndex != -1) { GameRegistry activeRegistry = gameObject.GetComponent <GameRegistry>(); activeRegistry.activeProjectDirectory = projects[projectSelectionIndex].projectFolderPath; activeRegistry.switchState(States.ProjectEditor); } else { WarningSystem.addWarning("Select a Project", "Please selection a project before loading.", Code.Warning); } } if (isDisplayingNamePrompt) { GUI.enabled = false; } scrollViewVector = GUI.BeginScrollView(new Rect(15, 140, 220, 120), scrollViewVector, new Rect(0, 0, 200, 1000)); projectSelectionIndex = GUILayout.SelectionGrid(projectSelectionIndex, getProjectNames(), 1, "toggle"); // End the ScrollView GUI.EndScrollView(); GUI.enabled = true; if (isDisplayingNamePrompt) { GUI.Box(new Rect(30, 80, 190, 180), "Enter Project Name:"); GUI.SetNextControlName("ProjectNameField"); projectName = GUI.TextField(new Rect(50, 120, 150, 32), projectName, 40); GUI.FocusControl("ProjectNameField"); if (GUI.Button(new Rect(50, 190, 150, 32), "Ok")) { isDisplayingNamePrompt = false; // Create Project Directory and Add to the display list Directory.CreateDirectory(Application.dataPath + "\\projects\\" + projectName); ProjectData newProject = new ProjectData(); //Creates a relative path for the project which is used in the xml file later. (Mohammad) string relative = ""; if (Directory.Exists(Application.dataPath)) { string p = Application.dataPath; string parpath1 = Directory.GetParent(Application.dataPath).FullName; string parpath2 = Directory.GetParent(parpath1).FullName; string parpath3 = Directory.GetParent(parpath2).FullName; relative = "../../" + Application.dataPath.Remove(0, parpath3.Length) + "\\projects\\" + projectName; } //newProject.projectFolderPath = Application.dataPath + "\\projects\\" + projectName; newProject.projectFolderPath = relative; newProject.projectName = projectName; newProject.tankDimensions.x = 1000; newProject.tankDimensions.z = 700; newProject.tankDimensions.y = 1000; createDirectoryIfItDoesntExist("tps", newProject.projectFolderPath); createDirectoryIfItDoesntExist("fins", newProject.projectFolderPath); createDirectoryIfItDoesntExist("textures", newProject.projectFolderPath); createDirectoryIfItDoesntExist("paths", newProject.projectFolderPath); Debug.Log("Project path: " + newProject.projectFolderPath); saveNewProjectData(newProject); projects.Add(newProject); WarningSystem.addWarning("New Project Folder", "New path:" + newProject.projectFolderPath, Code.Info); } } if (GUI.Button(new Rect(65, 290, 120, 32), "About")) { WarningSystem.addWarning("Version Info", "Version: 1.1 \t\tReleased: Jan 1, 2014 \nUpdates: Keyframe multi-selection, version info etc. ", Code.Info); } // End the group we started above. This is very important to remember! GUI.EndGroup(); }
public void OnMouseClick() { if (containingRect.Contains(Event.current.mousePosition)) { Vector2 mosPos = new Vector2(Event.current.mousePosition.x - containingRect.x + scrollViewVector.x, Event.current.mousePosition.y - containingRect.y); Debug.Log("InsideTest"); for (int i = 0; i < keys.Count; i++) { if ((keys[i] as KeyframeTexture).contains(mosPos)) { Event e = Event.current; if (e.shift) { //Only works one keyframes if (keyInfo[startFrame].isKeyed == false || keyInfo[i].isKeyed == false) { WarningSystem.addWarning("Warning", "Only keyframes should be selected", Code.Info); startFrame = i; return; } if (startFrame > i) { WarningSystem.addWarning("Warning", "Select frames from left to right", Code.Info); startFrame = i; break; } endFrame = i; WarningSystem.addWarning("Select Frames", "Frame " + startFrame + " to " + endFrame + " is selected.", Code.Info); selectedKeys.Clear(); int cnt = 0; foreach (KeyframeTexture key in keys) { if (cnt >= startFrame && cnt <= endFrame) { selectedKeys.Add(cnt); } cnt++; } startFrame = i; } else if (e.control) { //Only works one keyframes if (keyInfo[startFrame].isKeyed == false || keyInfo[i].isKeyed == false) { WarningSystem.addWarning("Select Frames", "Only keyframes should be selected", Code.Info); startFrame = i; return; } int cnt = 0; foreach (KeyframeTexture key in keys) { if (cnt == i) { selectedKeys.Add(cnt); break; } cnt++; } startFrame = i; } else { selectedKeys.Clear(); selectedKeys.Add(i); startFrame = i; gotoFrame(i); Messenger <int> .Broadcast("SetTextureByFrame", i); } selectedKeys.Sort(); UpdateSelectedKeys(); } } } }
void OnGUI() { //if(mySkin != null) GUI.skin = GuiManager.GetSkin(); // Launch Screen GUI.BeginGroup(new Rect(Screen.width / 2 - 75, Screen.height / 2 - 150, 250, 350)); // All rectangles are now adjusted to the group. (0,0) is the topleft corner of the group. // We'll make a box so you can see where the group is on-screen. GUI.Box(new Rect(0, 0, 250, 350), "Anyfish Editor"); if (GUI.Button(new Rect(65, 40, 120, 32), "New Project")) { Directory.CreateDirectory(Application.dataPath + "\\projects\\test\\"); WarningSystem.addWarning("New Project Folder", "New path:", Code.Info); } GUI.Button(new Rect(65, 80, 120, 32), "Load Project"); scrollViewVector = GUI.BeginScrollView(new Rect(15, 140, 220, 120), scrollViewVector, new Rect(0, 0, 200, 150)); // Put something inside the ScrollView toggleTxt = GUI.Toggle(new Rect(10, 10, 20, 24), toggleTxt, ""); GUI.Label(new Rect(35, 10, 100, 24), "Stickleback"); toggleTwo = GUI.Toggle(new Rect(10, 40, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 40, 100, 24), "Swordtail"); toggleTwo = GUI.Toggle(new Rect(10, 70, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 70, 100, 24), "Blinky"); toggleTwo = GUI.Toggle(new Rect(10, 100, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 100, 100, 24), "Loop Example"); // End the ScrollView GUI.EndScrollView(); // End the group we started above. This is very important to remember! GUI.EndGroup(); /* * GUI.depth = 3; * GUI.BeginGroup (new Rect (Screen.width / 2 - 250, Screen.height / 2 - 300, 500, 600)); * // All rectangles are now adjusted to the group. (0,0) is the topleft corner of the group. * * // We'll make a box so you can see where the group is on-screen. * GUI.Box (new Rect (0,0,500,600), "Project Editor"); * * GUI.Label(new Rect(35, 25, 100, 30), "Tank: "); * * GUI.Label(new Rect(35, 50, 100, 30), "Width(MM) : "); * GUI.TextField(new Rect(110, 50, 100, 25), "1000"); * GUI.Label(new Rect(35, 75, 100, 30), "Height(MM): "); * GUI.TextField(new Rect(110, 75, 100, 25), "700"); * GUI.Label(new Rect(35, 100, 100, 30), "Depth(MM) : "); * GUI.TextField(new Rect(110, 100, 100, 25), "1400"); * * //GUI.Button (new Rect (65,40,120,32), "New Project"); * //GUI.Button (new Rect (65,80,120,32), "Load Project"); * * GUI.Label(new Rect(35, 140, 100, 30), "Fish Models : "); * scrollViewVector = GUI.BeginScrollView (new Rect (15, 155, 220, 120), scrollViewVector, new Rect (0, 0, 200, 150)); * * // Put something inside the ScrollView * toggleTwo = GUI.Toggle(new Rect(10, 10, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 10, 100, 24), "Jacob Park"); * toggleTxt = GUI.Toggle(new Rect(10, 40, 20, 24), toggleTxt, ""); GUI.Label(new Rect(35, 40, 100, 24), "Consensus"); * toggleTwo = GUI.Toggle(new Rect(10, 70, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 70, 100, 24), "Distorted Test"); * toggleTwo = GUI.Toggle(new Rect(10, 100, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 100, 100, 24), "Oyster"); * // End the ScrollView * GUI.EndScrollView(); * * * GUI.Label(new Rect(260, 140, 100, 30), "Fish Paths : "); * scrollViewVector2 = GUI.BeginScrollView (new Rect (260, 155, 220, 120), scrollViewVector2, new Rect (0, 0, 200, 150)); * * // Put something inside the ScrollView * toggleThree = GUI.Toggle(new Rect(10, 10, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 10, 100, 24), "Zig Zag"); * toggleTwo = GUI.Toggle(new Rect(10, 40, 20, 24), toggleTwo, ""); GUI.Label(new Rect(35, 40, 100, 24), "Loop"); * toggleThree = GUI.Toggle(new Rect(10, 70, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 70, 100, 24), "Nest Point"); * toggleThree = GUI.Toggle(new Rect(10, 100, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 100, 100, 24), "Idle Wander"); * // End the ScrollView * GUI.EndScrollView(); * * GUI.Button (new Rect (260,290,80,32), "New Path"); * GUI.Button (new Rect (365,290,80,32), "Edit Path"); * * // End the group we started above. This is very important to remember! * * * GUI.Label(new Rect(35, 340, 100, 30), "Textures : "); * scrollViewVector2 = GUI.BeginScrollView (new Rect (15, 355, 220, 120), scrollViewVector2, new Rect (0, 0, 200, 150)); * * // Put something inside the ScrollView * toggleThree = GUI.Toggle(new Rect(10, 10, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 10, 100, 24), "1164"); * toggleThree = GUI.Toggle(new Rect(10, 40, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 40, 100, 24), "1169"); * toggleThree = GUI.Toggle(new Rect(10, 70, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 70, 100, 24), "1171"); * toggleThree = GUI.Toggle(new Rect(10, 100, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 100, 100, 24), "1175"); * // End the ScrollView * GUI.EndScrollView(); * * GUI.Button (new Rect (25,500,100,32), "Batch Render"); * // End the group we started above. This is very important to remember! * * GUI.Label(new Rect(260, 340, 100, 30), "Time Dialation: "); * * GUI.Label(new Rect(260, 365, 120, 30), "Dialation frames : "); * GUI.TextField(new Rect(370, 365, 50, 25), "16"); * GUI.Label(new Rect(260, 390, 120, 30), "Render Every: "); * GUI.TextField(new Rect(370, 390, 50, 25), "4"); * * * * GUI.EndGroup (); */ }
void OnGUI() { if (isInitialized) { GUI.skin = GuiManager.GetSkin(); GUI.depth = 3; if (isDisplayingPrompt) { GUI.enabled = false; } GUI.BeginGroup(new Rect(Screen.width / 2 - 250, Screen.height / 2 - 300, 500, 600)); // All rectangles are now adjusted to the group. (0,0) is the topleft corner of the group. // We'll make a box so you can see where the group is on-screen. GUI.Box(new Rect(0, 0, 500, 600), "Project Editor: " + activeProject.projectName); GUI.Label(new Rect(35, 25, 360, 30), "Tank: Warning:Numbers only"); // Unity textfields work by assigning a value on return, without the assignment they are uneditable // Decided to parse them back to floats on the fly. //TODO: Limit to only number input Regex.Replace(text, @"[^0-9 ]", ""); GUI.Label(new Rect(35, 50, 100, 30), "Width(MM) : "); activeProject.tankDimensions.x = float.Parse(GUI.TextField(new Rect(150, 50, 100, 25), activeProject.tankDimensions.x.ToString())); GUI.Label(new Rect(35, 75, 100, 30), "Height(MM): "); activeProject.tankDimensions.y = float.Parse(GUI.TextField(new Rect(150, 75, 100, 25), activeProject.tankDimensions.y.ToString())); GUI.Label(new Rect(35, 100, 100, 30), "Depth(MM) : "); activeProject.tankDimensions.z = float.Parse(GUI.TextField(new Rect(150, 100, 100, 25), activeProject.tankDimensions.z.ToString())); GUI.Label(new Rect(290, 25, 180, 30), "Background Color"); GUI.Label(new Rect(295, 50, 30, 30), "R"); activeProject.backgroundR = int.Parse(GUI.TextField(new Rect(330, 50, 35, 25), activeProject.backgroundR.ToString())); GUI.Label(new Rect(295, 75, 30, 30), "G"); activeProject.backgroundG = int.Parse(GUI.TextField(new Rect(330, 75, 35, 25), activeProject.backgroundG.ToString())); GUI.Label(new Rect(295, 100, 30, 30), "B"); activeProject.backgroundB = int.Parse(GUI.TextField(new Rect(330, 100, 35, 25), activeProject.backgroundB.ToString())); GUI.Label(new Rect(35, 140, 100, 30), "Fish Models : "); fishModelScrollVector = GUI.BeginScrollView(new Rect(15, 160, 220, 120), fishModelScrollVector, new Rect(0, 0, 200, 150)); activeProject.type = GUILayout.SelectionGrid(activeProject.type, getPossibleFishModels(), 1, "toggle"); //selectedModelIndex = GUI.EndScrollView(); GUI.Label(new Rect(260, 140, 100, 30), "Fish Paths : "); fishPathsScrollVector = GUI.BeginScrollView(new Rect(260, 155, 220, 120), fishPathsScrollVector, new Rect(0, 0, 200, 150)); pathNames.render(); GUI.EndScrollView(); if (GUI.Button(new Rect(260, 290, 80, 32), "New Path")) { PlayerPrefs.SetInt("FishType", activeProject.type); isDisplayingPrompt = true; //Application.LoadLevel(1); //GameRegistry activeRegistry = gameObject.GetComponent<GameRegistry>(); //activeRegistry.switchState(States.AnimationEditor); //WarningSystem.addWarning("Write Failure", "Failed to write path data", Code.Error); } if (GUI.Button(new Rect(365, 290, 80, 32), "Edit Path")) { if (pathNames.hasActive()) { List <string> activePaths = pathNames.getActive(); // Check that only one is selected if (activePaths.Count != 1) { WarningSystem.addWarning("Please select a path.", "Please select only a single path for editing", Code.Warning); } else { // Open the path PlayerPrefs.SetInt("FishType", activeProject.type); PlayerPrefs.SetString("PathDir", activePaths[0]); if (tpsNames.hasActive()) { List <string> activeMorphs = tpsNames.getActive(); if (activeMorphs.Count > 1) { WarningSystem.addWarning("Please select a single TPS", "Please select just one morph for path editing", Code.Warning); } else { if (textureNames.hasActive()) { List <string> activeTextures = textureNames.getActive(); if (activeTextures.Count > 1) { WarningSystem.addWarning("Please select a single texture", "Please select a single texture for path editing", Code.Warning); } else { PlayerPrefs.SetString("MorphPath", activeMorphs[0]); PlayerPrefs.SetString("TexturePath", activeTextures[0]); Application.LoadLevel(1); } } else { PlayerPrefs.SetString("MorphPath", activeMorphs[0]); PlayerPrefs.SetString("TexturePath", "default"); Application.LoadLevel(1); } } } else { PlayerPrefs.SetString("TexturePath", "default"); PlayerPrefs.SetString("MorphPath", "default"); Application.LoadLevel(1); } } } else { WarningSystem.addWarning("Select a path!", "First select an existing path or create a new one.", Code.Warning); } } // End the group we started above. This is very important to remember! GUI.Label(new Rect(35, 340, 100, 30), "Textures : "); fishTexturesScrollVec = GUI.BeginScrollView(new Rect(15, 355, 220, 120), fishTexturesScrollVec, new Rect(0, 0, 200, 150)); textureNames.render(); // Put something inside the ScrollView //toggleThree = GUI.Toggle(new Rect(10, 10, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 10, 100, 24), "need swordtail tps"); // End the ScrollView GUI.EndScrollView(); //GUI.enabled = false; if (GUI.Button(new Rect(25, 500, 100, 32), "Batch Render")) { // Store FishType bool hasRequirementsToRender = true; PlayerPrefs.SetInt("FishType", activeProject.type); // Check if Paths if (pathNames.hasActive()) { List <string> activePaths = pathNames.getActive(); PlayerPrefsX.SetStringArray("PathsDir", activePaths.ToArray()); } else { WarningSystem.addWarning("Select a path!", "First select an existing path or create a new one.", Code.Warning); hasRequirementsToRender = false; } // Check textures if (textureNames.hasActive()) { List <string> activeTextures = textureNames.getActive(); PlayerPrefsX.SetStringArray("TexturesDir", activeTextures.ToArray()); } else { WarningSystem.addWarning("Select a texture!", "Please select at least one existing texture.", Code.Warning); hasRequirementsToRender = false; } // Check TPS if (tpsNames.hasActive()) { List <string> activeTPS = tpsNames.getActive(); PlayerPrefsX.SetStringArray("TPSDir", activeTPS.ToArray()); } else { PlayerPrefsX.SetStringArray("TPSDir", new string[] { "default" }); } // Launch Renderer if (hasRequirementsToRender) { Application.LoadLevel(2); } } GUI.enabled = true; GUI.Label(new Rect(260, 340, 100, 30), "TPS : "); tpsTexturesScrollVec = GUI.BeginScrollView(new Rect(260, 355, 220, 120), tpsTexturesScrollVec, new Rect(0, 0, 200, 150)); tpsNames.render(); // Put something inside the ScrollView //toggleThree = GUI.Toggle(new Rect(10, 10, 20, 24), toggleThree, ""); GUI.Label(new Rect(35, 10, 100, 24), "need swordtail tps"); // End the ScrollView GUI.EndScrollView(); //GUI.Label(new Rect(260, 480, 100, 30), "Time Dilation: "); GUI.Label(new Rect(260, 485, 120, 30), "Frame Rate: "); activeProject.dialFrames = int.Parse(GUI.TextField(new Rect(390, 485, 50, 25), activeProject.dialFrames.ToString())); GUI.Label(new Rect(260, 510, 120, 30), "Render Every: "); activeProject.snapshotPer = int.Parse(GUI.TextField(new Rect(390, 515, 50, 25), activeProject.snapshotPer.ToString())); if (GUI.Button(new Rect(250, 550, 220, 32), "Windows Only: Open Project Folder")) { try{ string itemPath = activeProject.projectFolderPath.Replace(@"/", @"\"); // explorer doesn't like front slashes System.Diagnostics.Process.Start("explorer.exe", "/select," + itemPath); }catch { WarningSystem.addWarning("Failed to spawn explorer", "Unable to open explorer, are you using a mac?", Code.Error); } } GUI.enabled = true; if (isDisplayingPrompt) { GUI.BeginGroup(new Rect(120, 100, 500, 500)); GUI.Box(new Rect(30, 80, 190, 180), "Enter Path Name:"); GUI.SetNextControlName("ProjectPathField"); pathName = GUI.TextField(new Rect(50, 120, 150, 32), pathName, 40); GUI.FocusControl("ProjectPathField"); if (GUI.Button(new Rect(50, 190, 150, 32), "Ok")) { isDisplayingPrompt = false; PlayerPrefs.SetInt("FishType", activeProject.type); PlayerPrefs.SetString("PathDir", activeProject.projectFolderPath + "\\paths\\" + pathName + ".xml"); PlayerPrefs.SetString("PathName", pathName); Application.LoadLevel(1); //Directory.CreateDirectory(activeProject.projectFolderPath + "\\paths\\" + pathName); PathData newPathData = new PathData(); newPathData.pathName = pathName; newPathData.keyframes = new List <KeyframeInfo>(0); saveNewPathData(newPathData); //GameRegistry activeRegistry = gameObject.GetComponent<GameRegistry>(); //activeRegistry.switchState(States.AnimationEditor); // Create Project Directory and Add to the display list } GUI.EndGroup(); } GUI.EndGroup(); } }