private float ShowHeaderUI(float xPos, float yPos, float uiWidth) { var needToRepaint = false; System.Func <GUIStyle> headerLabelStyleProvider = () => SpringBoneGUIStyles.HeaderLabelStyle; System.Func <GUIStyle> toggleStyleProvider = () => SpringBoneGUIStyles.ToggleStyle; var headerColumn = new GUIElements.Column( new GUIElements.IElement[] { new GUIElements.Label("表示", headerLabelStyleProvider), new GUIElements.Row(new GUIElements.IElement[] { new GUIElements.Toggle("選択ボーンのみ表示", () => settings.onlyShowSelectedBones, newValue => { settings.onlyShowSelectedBones = newValue; needToRepaint = true; }, toggleStyleProvider), new GUIElements.Toggle("ボーンのコリジョンを表示", () => settings.showBoneSpheres, newValue => { settings.showBoneSpheres = newValue; needToRepaint = true; }, toggleStyleProvider), }, GUIElements.RowHeight), new GUIElements.Row(new GUIElements.IElement[] { new GUIElements.Toggle("選択コライダーのみ表示", () => settings.onlyShowSelectedColliders, newValue => { settings.onlyShowSelectedColliders = newValue; needToRepaint = true; }, toggleStyleProvider), new GUIElements.Toggle("ボーン名を表示", () => settings.showBoneNames, newValue => { settings.showBoneNames = newValue; needToRepaint = true; }, toggleStyleProvider) }, GUIElements.RowHeight), }, true, 4f, 0f); headerColumn.DoUI(xPos, yPos, uiWidth); if (needToRepaint) { ApplySettings(); SaveSettings(); SceneView.RepaintAll(); } return(yPos + headerColumn.Height + GUIElements.Spacing); }
private void InitializeButtonGroups() { if (mainUI != null) { return; } const float BigButtonHeight = 60f; System.Func <GUIStyle> headerLabelStyleProvider = () => SpringBoneGUIStyles.HeaderLabelStyle; System.Func <GUIStyle> buttonLabelStyleProvider = () => SpringBoneGUIStyles.MiddleLeftJustifiedLabelStyle; mainUI = new GUIElements.Column(new GUIElements.IElement[] { new GUIElements.Column(new GUIElements.IElement[] { new GUIElements.Label("ダイナミクスCSV", headerLabelStyleProvider), new GUIElements.Row(new GUIElements.IElement[] { new GUIElements.Button("読み込む", LoadSpringBoneSetupWindow.ShowWindow, openDocumentIcon, buttonLabelStyleProvider), new GUIElements.Button("保存", SaveSpringBoneSetupWindow.ShowWindow, saveDocumentIcon, buttonLabelStyleProvider) }, BigButtonHeight) }), new GUIElements.Column(new GUIElements.IElement[] { new GUIElements.Label("スプリングボーン", headerLabelStyleProvider), new GUIElements.Row(new GUIElements.IElement[] { new GUIElements.Button("スプリング\nボーン追加", SpringBoneEditorActions.AssignSpringBonesRecursively, headerIcon, buttonLabelStyleProvider), new GUIElements.Button("基点作成", SpringBoneEditorActions.CreatePivotForSpringBones, pivotIcon, buttonLabelStyleProvider) }, BigButtonHeight), new GUIElements.Button("マネージャーを作成/更新", SpringBoneEditorActions.AddToOrUpdateSpringManagerInSelection, newDocumentIcon, buttonLabelStyleProvider), //new GUIElements.Button("初期セットアップを行う", SpringBoneAutoSetupWindow.ShowWindow, newDocumentIcon, buttonLabelStyleProvider), //new GUIElements.Button("初期ボーンリストに合わせる", SpringBoneEditorActions.PromptToUpdateSpringBonesFromList, null, buttonLabelStyleProvider), new GUIElements.Separator(), new GUIElements.Button("スプリングボーンをミラー", MirrorSpringBoneWindow.ShowWindow, null, buttonLabelStyleProvider), new GUIElements.Button("選択と子供のスプリングボーンを選択", SpringBoneEditorActions.SelectChildSpringBones, null, buttonLabelStyleProvider), new GUIElements.Button("選択スプリングボーンを削除", SpringBoneEditorActions.DeleteSelectedBones, deleteIcon, buttonLabelStyleProvider), new GUIElements.Button("選択と子供のマネージャーとボーンを削除", SpringBoneEditorActions.DeleteSpringBonesAndManagers, deleteIcon, buttonLabelStyleProvider), }), new GUIElements.Column(new GUIElements.IElement[] { new GUIElements.Label("コリジョン", headerLabelStyleProvider), new GUIElements.Row(new GUIElements.IElement[] { new GUIElements.Button("球体", SpringColliderEditorActions.CreateSphereColliderBeneathSelectedObjects, sphereIcon, buttonLabelStyleProvider), new GUIElements.Button("カプセル", SpringColliderEditorActions.CreateCapsuleColliderBeneathSelectedObjects, capsuleIcon, buttonLabelStyleProvider), new GUIElements.Button("板", SpringColliderEditorActions.CreatePanelColliderBeneathSelectedObjects, panelIcon, buttonLabelStyleProvider), }, BigButtonHeight), new GUIElements.Button("カプセルの位置を親に合わせる", SpringColliderEditorActions.AlignSelectedCapsulesToParents, capsuleIcon, buttonLabelStyleProvider), new GUIElements.Button("スプリングボーンからコリジョンを外す", SpringColliderEditorActions.DeleteCollidersFromSelectedSpringBones, deleteIcon, buttonLabelStyleProvider), new GUIElements.Button("選択と子供のコライダーを削除", SpringColliderEditorActions.DeleteAllChildCollidersFromSelection, deleteIcon, buttonLabelStyleProvider), new GUIElements.Button("クリーンナップ", SpringColliderEditorActions.CleanUpDynamics, deleteIcon, buttonLabelStyleProvider) }) }, false, 0f); }