public override void OnInspectorGUI() { WaveVR_ControllerLoader myScript = target as WaveVR_ControllerLoader; myScript.WhichHand = (WaveVR_ControllerLoader.ControllerHand)EditorGUILayout.EnumPopup("Type", myScript.WhichHand); myScript.ControllerComponents = (WaveVR_ControllerLoader.CComponent)EditorGUILayout.EnumPopup("Controller Components", myScript.ControllerComponents); myScript.TrackPosition = EditorGUILayout.Toggle("Track Position", myScript.TrackPosition); if (true == myScript.TrackPosition) { myScript.SimulationOption = (WVR_SimulationOption)EditorGUILayout.EnumPopup(" Simulate Position", myScript.SimulationOption); if (myScript.SimulationOption == WVR_SimulationOption.ForceSimulation || myScript.SimulationOption == WVR_SimulationOption.WhenNoPosition) { myScript.FollowHead = (bool)EditorGUILayout.Toggle(" Follow Head", myScript.FollowHead); } } myScript.TrackRotation = EditorGUILayout.Toggle("Track Rotation", myScript.TrackRotation); EditorGUILayout.LabelField("Indication feature"); myScript.overwriteIndicatorSettings = EditorGUILayout.Toggle("Overwrite Indicator Settings", myScript.overwriteIndicatorSettings); if (true == myScript.overwriteIndicatorSettings) { myScript.showIndicator = EditorGUILayout.Toggle("Show Indicator", myScript.showIndicator); if (true == myScript.showIndicator) { myScript.hideIndicatorByRoll = EditorGUILayout.Toggle("Hide Indicator when roll angle > 90 ", myScript.hideIndicatorByRoll); myScript.showIndicatorAngle = EditorGUILayout.FloatField("Show When Angle > ", myScript.showIndicatorAngle); EditorGUILayout.Space(); EditorGUILayout.LabelField("Line customization"); myScript.lineLength = EditorGUILayout.FloatField("Line Length", myScript.lineLength); myScript.lineStartWidth = EditorGUILayout.FloatField("Line Start Width", myScript.lineStartWidth); myScript.lineEndWidth = EditorGUILayout.FloatField("Line End Width", myScript.lineEndWidth); myScript.lineColor = EditorGUILayout.ColorField("Line Color", myScript.lineColor); EditorGUILayout.Space(); EditorGUILayout.LabelField("Text customization"); myScript.textCharacterSize = EditorGUILayout.FloatField("Text Character Size", myScript.textCharacterSize); myScript.zhCharactarSize = EditorGUILayout.FloatField("Chinese Character Size", myScript.zhCharactarSize); myScript.textFontSize = EditorGUILayout.IntField("Text Font Size", myScript.textFontSize); myScript.textColor = EditorGUILayout.ColorField("Text Color", myScript.textColor); EditorGUILayout.Space(); EditorGUILayout.LabelField("Key indication"); var list = myScript.buttonIndicationList; int newCount = Mathf.Max(0, EditorGUILayout.IntField("Button indicator size", list.Count)); while (newCount < list.Count) { list.RemoveAt(list.Count - 1); } while (newCount > list.Count) { list.Add(new ButtonIndication()); } for (int i = 0; i < list.Count; i++) { EditorGUILayout.LabelField("Button indication " + i); myScript.buttonIndicationList[i].keyType = (ButtonIndication.KeyIndicator)EditorGUILayout.EnumPopup("Key Type", myScript.buttonIndicationList[i].keyType); myScript.buttonIndicationList[i].alignment = (ButtonIndication.Alignment)EditorGUILayout.EnumPopup("Alignment", myScript.buttonIndicationList[i].alignment); myScript.buttonIndicationList[i].indicationOffset = EditorGUILayout.Vector3Field("Indication offset", myScript.buttonIndicationList[i].indicationOffset); myScript.buttonIndicationList[i].indicationText = EditorGUILayout.TextField("Indication text", myScript.buttonIndicationList[i].indicationText); myScript.buttonIndicationList[i].followButtonRotation = EditorGUILayout.Toggle("Follow button rotation", myScript.buttonIndicationList[i].followButtonRotation); EditorGUILayout.Space(); } } } if (GUI.changed) { EditorUtility.SetDirty((WaveVR_ControllerLoader)target); } }
public override void OnInspectorGUI() { WaveVR_ControllerLoader myScript = target as WaveVR_ControllerLoader; myScript.WhichHand = (WaveVR_ControllerLoader.ControllerHand)EditorGUILayout.EnumPopup("Type", myScript.WhichHand); myScript.ControllerComponents = (WaveVR_ControllerLoader.CComponent)EditorGUILayout.EnumPopup("Controller Components", myScript.ControllerComponents); myScript.TrackPosition = EditorGUILayout.Toggle("Track Position", myScript.TrackPosition); if (true == myScript.TrackPosition) { myScript.SimulationOption = (WVR_SimulationOption)EditorGUILayout.EnumPopup(" Simulate Position", myScript.SimulationOption); if (myScript.SimulationOption == WVR_SimulationOption.ForceSimulation || myScript.SimulationOption == WVR_SimulationOption.WhenNoPosition) { myScript.FollowHead = (bool)EditorGUILayout.Toggle(" Follow Head", myScript.FollowHead); } } myScript.TrackRotation = EditorGUILayout.Toggle("Track Rotation", myScript.TrackRotation); EditorGUILayout.Space(); EditorGUILayout.LabelField("Controller model"); myScript.adaptiveLoading = EditorGUILayout.Toggle(" Adaptive loading", myScript.adaptiveLoading); if (true == myScript.adaptiveLoading) { EditorGUILayout.LabelField(" Button effect"); myScript.enableButtonEffect = EditorGUILayout.Toggle(" Enable button effect", myScript.enableButtonEffect); if (true == myScript.enableButtonEffect) { myScript.useEffectSystemConfig = EditorGUILayout.Toggle(" Apply button effect system config", myScript.useEffectSystemConfig); if (true != myScript.useEffectSystemConfig) { myScript.buttonEffectColor = EditorGUILayout.ColorField(" Button effect color", myScript.buttonEffectColor); } } EditorGUILayout.LabelField(" Beam"); myScript.useBeamSystemConfig = EditorGUILayout.Toggle(" Apply beam system config", myScript.useBeamSystemConfig); if (true != myScript.useBeamSystemConfig) { myScript.updateEveryFrame = EditorGUILayout.Toggle(" Need to update every frame", myScript.updateEveryFrame); myScript.startWidth = EditorGUILayout.FloatField(" Start width ", myScript.startWidth); myScript.endWidth = EditorGUILayout.FloatField(" End width ", myScript.endWidth); myScript.startOffset = EditorGUILayout.FloatField(" Start offset ", myScript.startOffset); myScript.endOffset = EditorGUILayout.FloatField(" End offset ", myScript.endOffset); myScript.StartColor = EditorGUILayout.ColorField(" Start color", myScript.StartColor); myScript.EndColor = EditorGUILayout.ColorField(" End color", myScript.EndColor); } EditorGUILayout.LabelField(" Indication feature"); myScript.overwriteIndicatorSettings = true; myScript.showIndicator = EditorGUILayout.Toggle(" Show Indicator", myScript.showIndicator); if (true == myScript.showIndicator) { myScript.hideIndicatorByRoll = EditorGUILayout.Toggle(" Hide Indicator when roll angle > 90 ", myScript.hideIndicatorByRoll); myScript.showIndicatorAngle = EditorGUILayout.FloatField(" Show When Angle > ", myScript.showIndicatorAngle); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Line customization"); myScript.lineLength = EditorGUILayout.FloatField(" Line Length", myScript.lineLength); myScript.lineStartWidth = EditorGUILayout.FloatField(" Line Start Width", myScript.lineStartWidth); myScript.lineEndWidth = EditorGUILayout.FloatField(" Line End Width", myScript.lineEndWidth); myScript.lineColor = EditorGUILayout.ColorField(" Line Color", myScript.lineColor); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Text customization"); myScript.textCharacterSize = EditorGUILayout.FloatField(" Text Character Size", myScript.textCharacterSize); myScript.zhCharactarSize = EditorGUILayout.FloatField(" Chinese Character Size", myScript.zhCharactarSize); myScript.textFontSize = EditorGUILayout.IntField(" Text Font Size", myScript.textFontSize); myScript.textColor = EditorGUILayout.ColorField(" Text Color", myScript.textColor); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Key indication"); var list = myScript.buttonIndicationList; int newCount = Mathf.Max(0, EditorGUILayout.IntField(" Button indicator size", list.Count)); while (newCount < list.Count) { list.RemoveAt(list.Count - 1); } while (newCount > list.Count) { list.Add(new ButtonIndication()); } for (int i = 0; i < list.Count; i++) { EditorGUILayout.LabelField(" Button indication " + i); myScript.buttonIndicationList[i].keyType = (ButtonIndication.KeyIndicator)EditorGUILayout.EnumPopup(" Key Type", myScript.buttonIndicationList[i].keyType); myScript.buttonIndicationList[i].alignment = (ButtonIndication.Alignment)EditorGUILayout.EnumPopup(" Alignment", myScript.buttonIndicationList[i].alignment); myScript.buttonIndicationList[i].indicationOffset = EditorGUILayout.Vector3Field(" Indication offset", myScript.buttonIndicationList[i].indicationOffset); myScript.buttonIndicationList[i].useMultiLanguage = EditorGUILayout.Toggle(" Use multi-language", myScript.buttonIndicationList[i].useMultiLanguage); if (myScript.buttonIndicationList[i].useMultiLanguage) { myScript.buttonIndicationList[i].indicationText = EditorGUILayout.TextField(" Indication key", myScript.buttonIndicationList[i].indicationText); } else { myScript.buttonIndicationList[i].indicationText = EditorGUILayout.TextField(" Indication text", myScript.buttonIndicationList[i].indicationText); } myScript.buttonIndicationList[i].followButtonRotation = EditorGUILayout.Toggle(" Follow button rotation", myScript.buttonIndicationList[i].followButtonRotation); EditorGUILayout.Space(); } } } else { EditorGUILayout.LabelField("Indication feature"); myScript.overwriteIndicatorSettings = EditorGUILayout.Toggle(" Overwrite Indicator Settings", myScript.overwriteIndicatorSettings); if (true == myScript.overwriteIndicatorSettings) { myScript.showIndicator = EditorGUILayout.Toggle(" Show Indicator", myScript.showIndicator); if (true == myScript.showIndicator) { myScript.hideIndicatorByRoll = EditorGUILayout.Toggle(" Hide Indicator when roll angle > 90 ", myScript.hideIndicatorByRoll); myScript.showIndicatorAngle = EditorGUILayout.FloatField(" Show When Angle > ", myScript.showIndicatorAngle); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Line customization"); myScript.lineLength = EditorGUILayout.FloatField(" Line Length", myScript.lineLength); myScript.lineStartWidth = EditorGUILayout.FloatField(" Line Start Width", myScript.lineStartWidth); myScript.lineEndWidth = EditorGUILayout.FloatField(" Line End Width", myScript.lineEndWidth); myScript.lineColor = EditorGUILayout.ColorField(" Line Color", myScript.lineColor); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Text customization"); myScript.textCharacterSize = EditorGUILayout.FloatField(" Text Character Size", myScript.textCharacterSize); myScript.zhCharactarSize = EditorGUILayout.FloatField(" Chinese Character Size", myScript.zhCharactarSize); myScript.textFontSize = EditorGUILayout.IntField(" Text Font Size", myScript.textFontSize); myScript.textColor = EditorGUILayout.ColorField(" Text Color", myScript.textColor); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Key indication"); var list = myScript.buttonIndicationList; int newCount = Mathf.Max(0, EditorGUILayout.IntField(" Button indicator size", list.Count)); while (newCount < list.Count) { list.RemoveAt(list.Count - 1); } while (newCount > list.Count) { list.Add(new ButtonIndication()); } for (int i = 0; i < list.Count; i++) { EditorGUILayout.LabelField(" Button indication " + i); myScript.buttonIndicationList[i].keyType = (ButtonIndication.KeyIndicator)EditorGUILayout.EnumPopup(" Key Type", myScript.buttonIndicationList[i].keyType); myScript.buttonIndicationList[i].alignment = (ButtonIndication.Alignment)EditorGUILayout.EnumPopup(" Alignment", myScript.buttonIndicationList[i].alignment); myScript.buttonIndicationList[i].indicationOffset = EditorGUILayout.Vector3Field(" Indication offset", myScript.buttonIndicationList[i].indicationOffset); myScript.buttonIndicationList[i].useMultiLanguage = EditorGUILayout.Toggle(" Use multi-language", myScript.buttonIndicationList[i].useMultiLanguage); if (myScript.buttonIndicationList[i].useMultiLanguage) { myScript.buttonIndicationList[i].indicationText = EditorGUILayout.TextField(" Indication key", myScript.buttonIndicationList[i].indicationText); } else { myScript.buttonIndicationList[i].indicationText = EditorGUILayout.TextField(" Indication text", myScript.buttonIndicationList[i].indicationText); } myScript.buttonIndicationList[i].followButtonRotation = EditorGUILayout.Toggle(" Follow button rotation", myScript.buttonIndicationList[i].followButtonRotation); EditorGUILayout.Space(); } } } } if (GUI.changed) { EditorUtility.SetDirty((WaveVR_ControllerLoader)target); } }