private void DrawEffectTimeScale() { ShiroiFXGUI.DrawTitle(TimeScaleTitle, TimeScaleSubtitleHeader); ShiroiFXGUI.DrawAnimatedOrConstantValue(TimeScaleContent, TimeScaleModeContent, ref effect.Mode, ref usesContantValue, ref effect.ConstantTimeScale, ref effect.AnimatedTimeScale); effect.Duration = EditorGUILayout.FloatField(DurationContent, effect.Duration); }
private void DrawVolume() { ShiroiFXGUI.DrawTitle(GeneralTitle, GeneralSubtitle); clipList.DoLayoutList(); var useAudioController = serializedObject.FindProperty("UseAudioControllerIfPresent"); EditorGUILayout.PropertyField(serializedObject.FindProperty("Volume")); if (!showPitch.target) { var volume = ((AudioEffect)target).Volume; var volumeCurve = volume.Value; if (volumeCurve.mode == ParticleSystemCurveMode.Curve || volumeCurve.mode == ParticleSystemCurveMode.TwoCurves) { serializedObject.ApplyModifiedProperties(); volumeCurve.mode = ParticleSystemCurveMode.Constant; volume.Value = volumeCurve; serializedObject.Update(); } } using (var group = new EditorGUILayout.FadeGroupScope(showPitch.faded)) { if (group.visible) { EditorGUILayout.PropertyField(serializedObject.FindProperty("Pitch")); } } EditorGUILayout.PropertyField(useAudioController); showPitch.target = useAudioController.boolValue; }
private void DrawControllerConfig() { ShiroiFXGUI.DrawTitle(ControllerConfigTitle, ControllerConfigSubtitle); effect.ServicePriority = (ushort)EditorGUILayout.IntSlider( ServicePriorityContent, effect.ServicePriority, ushort.MinValue, ushort.MaxValue); }
public override void OnInspectorGUI() { header.DoLayout(); var skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); EditorGUILayout.BeginVertical(skin.box); ShiroiFXGUI.DrawTitle(FOVTitle, FOVSubtitle); DrawEffect(); DrawControllerConfig(); EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { header.DoLayout(); var skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); EditorGUILayout.BeginVertical(skin.box); ShiroiFXGUI.DrawTitle(FreezeFrameTitle, FreezeFrameSubtitle); DrawEffectTimeScale(); DrawUseTimeController(); EditorGUILayout.EndVertical(); }
private void DrawLoop() { ShiroiFXGUI.DrawTitle(LoopTitle, LoopSubtitle); ShiroiFXGUI.DrawFadeProperty( ref loops, serializedObject.FindProperty("Loop"), delegate { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(serializedObject.FindProperty("LoopDuration")); EditorGUI.indentLevel--; } ); }
private void DrawUseTimeController() { ShiroiFXGUI.DrawTitle(TimeControllerTitle, TimeControllerSubtitle); usesTimeController.target = effect.UseTimeControllerIfPresent = EditorGUILayout.Toggle(UseTimeControllerContent, effect.UseTimeControllerIfPresent); if (EditorGUILayout.BeginFadeGroup(usesTimeController.faded)) { effect.ServicePriority = (ushort)EditorGUILayout.IntSlider( ServicePriority, effect.ServicePriority, ushort.MinValue, ushort.MaxValue); } EditorGUILayout.EndFadeGroup(); }
public override void OnInspectorGUI() { header.DoLayout(); var skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); EditorGUILayout.BeginVertical(skin.box); ShiroiFXGUI.DrawTitle(HeaderTitle, HeaderSubtitle); EditorGUI.BeginChangeCheck(); DrawVolume(); DrawLoop(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { var skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); EditorGUILayout.BeginVertical(skin.box); ShiroiFXGUI.DrawTitle(CompositeEffectTitle, CompositeEffectSubtitle); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Sub Effects", EditorStyles.boldLabel); var r = GUILayout.Button(ShiroiFXEditorResources.AddEffect); var buttonRect = Event.current.type == EventType.Repaint ? GUILayoutUtility.GetLastRect() : default(Rect); if (r) { PopupWindow.Show(buttonRect, effectSelector); } EditorGUILayout.EndHorizontal(); var toRemove = new List <Effect>(); foreach (var subEffect in effect.Effects) { bool remove; DrawFX(subEffect, skin, out remove); if (remove) { toRemove.Add(subEffect); } } foreach (var fx in toRemove) { effect.Effects.Remove(fx); DestroyImmediate(fx, true); } if (toRemove.Count > 0) { AssetDatabase.SaveAssets(); } EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { EffectHeader.DoLayout(); GUISkin skin; using (var boxScope = ShiroiFXGUI.EffectBox(out skin)) { ShiroiFXGUI.DrawTitle(Title, Subtitle); ShiroiFXGUI.DrawAndApplyProperties( serializedObject, "UseShakeControllerIfPresent", "Frequency", "Intensity", "Duration", "Mode" ); effect.Dimensions = (ObjectShakeEffect.ShakeDimension)EditorGUILayout.EnumFlagsField(DimensionsContent, effect.Dimensions); serializedObject.Update(); } }