public override void OnInspectorGUI() { DemoScreenEffects s = (DemoScreenEffects)target; //DrawDefaultInspector(); if (Application.isPlaying) { GUILayout.Space(25); if (GUILayout.Button("Clear Effects")) { ScreenEffects.Clear(); } GUILayout.Space(25); } //============================== //KEYHOLE //============================== GUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Keyhole", EditorStyles.boldLabel); GUILayout.Space(10); if (Application.isPlaying) { if (GUILayout.Button("Demo Keyhole")) { s.DemoKeyhole(); } } EditorGUILayout.PropertyField(demoKey_keyholeProp, new GUIContent("Keyhole Prefab:")); EditorGUILayout.PropertyField(demoKey_ColProp, new GUIContent("Color:")); EditorGUILayout.PropertyField(demoKey_AnimProp, new GUIContent("Animation Curve:")); EditorGUILayout.PropertyField(demoKey_fTimeProp, new GUIContent("Time")); EditorGUILayout.PropertyField(demoKey_targetProp, new GUIContent("Worldspace Target")); EditorGUILayout.PropertyField(demoKey_bIsEnteringProp, new GUIContent("Keyhole entering?")); GUILayout.EndVertical(); GUILayout.Space(25); //============================== //AXIAL TILING //============================== GUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Axial Tiling", EditorStyles.boldLabel); if (Application.isPlaying) { if (GUILayout.Button("Demo Axial Tiling")) { s.DemoTileScreen(); } } EditorGUILayout.PropertyField(demoStandard_colProp, new GUIContent("Tile color:")); EditorGUILayout.PropertyField(demoStandard_iNumRowsProp, new GUIContent("Number of rows:")); EditorGUILayout.PropertyField(demoStandard_fDelayProp, new GUIContent("Delay between tiles:")); EditorGUILayout.PropertyField(demoStandard_bIsLeftProp, new GUIContent("Start on the left?")); EditorGUILayout.PropertyField(demoStandard_bIsBottomProp, new GUIContent("Start at the bottom?")); EditorGUILayout.PropertyField(demoStandard_bFillColumnsFirstProp, new GUIContent("Fill vertically?")); GUILayout.EndVertical(); GUILayout.Space(25); //============================== //DIAGONAL TILING //============================== GUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Diagonal Tiling", EditorStyles.boldLabel); GUILayout.Space(10); if (Application.isPlaying) { if (GUILayout.Button("Demo Diagonal Tiling")) { s.DemoTileScreenDiagonally(); } } EditorGUILayout.PropertyField(demoDiag_colProp, new GUIContent("Tile color:")); EditorGUILayout.PropertyField(demoDiag_iNumRowsProp, new GUIContent("Number of rows:")); EditorGUILayout.PropertyField(demoDiag_fDelayProp, new GUIContent("Delay between tiles:")); EditorGUILayout.PropertyField(demoDiag_bIsLeftProp, new GUIContent("Start on the left?")); EditorGUILayout.PropertyField(demoDiag_bIsBottomProp, new GUIContent("Start at the bottom?")); GUILayout.EndVertical(); GUILayout.Space(25); //============================== //HORIZONTAL BANNERS //============================== GUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Horizontal Banners", EditorStyles.boldLabel); GUILayout.Space(10); if (Application.isPlaying) { if (GUILayout.Button("Demo Horizontal Banners")) { s.DemoHorizontalBanners(); } } EditorGUILayout.PropertyField(demoHorBan_colProp, new GUIContent("Banner color:")); EditorGUILayout.PropertyField(demoHorBan_animCurveProp, new GUIContent("Animation Curve:")); EditorGUILayout.PropertyField(demoHorBan_iNumBanProp, new GUIContent("Number of banners:")); EditorGUILayout.PropertyField(demoHorBan_fAcrossTimeProp, new GUIContent("Time for one banner to cross:")); EditorGUILayout.PropertyField(demoHorBan_fDelayProp, new GUIContent("Delay between banners:")); EditorGUILayout.PropertyField(demoHorBan_bIsLeftProp, new GUIContent("Start on the left?")); EditorGUILayout.PropertyField(demoHorBan_bIsTopProp, new GUIContent("Start at the top?")); EditorGUILayout.PropertyField(demoHorBan_bIsEnteringProp, new GUIContent("Banners entering?")); GUILayout.EndVertical(); GUILayout.Space(25); //============================== //VERTICAL BANNERS //============================== GUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Vertical Banners", EditorStyles.boldLabel); GUILayout.Space(10); if (Application.isPlaying) { if (GUILayout.Button("Demo Vertical Banners")) { s.DemoVerticalBanners(); } } EditorGUILayout.PropertyField(demoVerBan_colProp, new GUIContent("Banner color:")); EditorGUILayout.PropertyField(demoVerBan_animCurveProp, new GUIContent("Animation Curve:")); EditorGUILayout.PropertyField(demoVerBan_iNumBanProp, new GUIContent("Number of banners:")); EditorGUILayout.PropertyField(demoVerBan_fAcrossTimeProp, new GUIContent("Time for one banner to cross:")); EditorGUILayout.PropertyField(demoVerBan_fDelayProp, new GUIContent("Delay between banners:")); EditorGUILayout.PropertyField(demoVerBan_bIsLeftProp, new GUIContent("Start on the left?")); EditorGUILayout.PropertyField(demoVerBan_bIsTopProp, new GUIContent("Start at the top?")); EditorGUILayout.PropertyField(demoVerBan_bIsEnteringProp, new GUIContent("Banners entering?")); GUILayout.EndVertical(); GUILayout.Space(25); //============================== //BARS //============================== GUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Bars", EditorStyles.boldLabel); GUILayout.Space(10); if (Application.isPlaying) { if (GUILayout.Button("Demo Bars")) { s.DemoBars(); } } EditorGUILayout.PropertyField(demoBar_colProp, new GUIContent("Bar color:")); EditorGUILayout.PropertyField(demoBar_animCurveProp, new GUIContent("Animation Curve:")); EditorGUILayout.PropertyField(demoBar_fTimeProp, new GUIContent("Total time:")); EditorGUILayout.PropertyField(demoBar_fProportionProp, new GUIContent("Proportion of screen filled by one banner:")); EditorGUILayout.PropertyField(demoBar_bIsHorizontalProp, new GUIContent("Horizontal banners?")); EditorGUILayout.PropertyField(demoBar_bIsEnteringProp, new GUIContent("Banners entering?")); GUILayout.EndVertical(); GUILayout.Space(25); serializedObject.ApplyModifiedProperties(); }