public static Preview Create(Vector2 size, AnyWalker target, AnyWalkerEditor genEdit) { Preview preview = EditorWindow.GetWindowWithRect <Preview>(new Rect(Screen.width / 2 - size.x / 2, (Screen.height / 2) - (size.y + 120) / 2, size.x, size.y + 60)); preview.size = size; preview.tar = target; preview.genEdit = genEdit; preview.settings = genEdit.ScanFileType(); preview.settings.SetSettings(AnyWalker.GET_GAMEMODE(preview.genEdit.save.mode)); //Base Material Material mat = Resources.Load(AnyWalkerEditor.TOOL_NAME + "/PreviewCube") as Material; mat.color = AnyWalkerEditor.col_egg; preview.tar.InitGenerator(mat, AnyWalkerEditor.col_egg, AnyWalkerEditor.col_semiblack); //Generation settings preview.values = new object[preview.settings.variables.Count]; for (int i = 0; i < preview.values.Length; i++) { preview.values[i] = preview.settings.variables[i].value; } preview.obj = preview.settings.Convert(genEdit.GetCurrentPath(), preview.values, AnyWalker.GET_GAMEMODE(preview.genEdit.save.mode)); if (preview.obj == null) { preview.Close(); return(null); } return(preview); }
private void UpdateMesh() { foreach (Transform child in obj.transform) { DestroyImmediate(child.gameObject); } obj = settings.Convert(genEdit.GetCurrentPath(), values, AnyWalker.GET_GAMEMODE(genEdit.save.mode)); Editor temp = Editor.CreateEditor(obj); DestroyImmediate(editor); editor = temp; }