// Inspector
        public override void OnInspectorGUI()
        {
            // Get target
            activator = target as RayfireActivator;
            if (activator == null)
            {
                return;
            }

            // Space
            GUILayout.Space(8);

            // Show center toggle
            EditorGUI.BeginChangeCheck();
            activator.showGizmo = GUILayout.Toggle(activator.showGizmo, " Show Gizmo ", "Button", GUILayout.Height(22));
            if (EditorGUI.EndChangeCheck())
            {
                SceneView.RepaintAll();
            }

            // Buttons
            if (Application.isPlaying == true)
            {
                // Begin
                GUILayout.BeginHorizontal();

                // Cache buttons
                if (GUILayout.Button("   Start   ", GUILayout.Height(25)))
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireActivator != null)
                        {
                            (targ as RayfireActivator).TriggerAnimation();
                        }
                    }
                }
                if (GUILayout.Button("    Stop    ", GUILayout.Height(25)))
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireActivator != null)
                        {
                            (targ as RayfireActivator).StopAnimation();
                        }
                    }
                }
                if (GUILayout.Button("Reset", GUILayout.Height(25)))
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireActivator != null)
                        {
                            (targ as RayfireActivator).ResetAnimation();
                        }
                    }
                }

                // End
                EditorGUILayout.EndHorizontal();
            }

            // Space
            GUILayout.Space(1);

            // Begin
            GUILayout.BeginHorizontal();

            // Cache buttons
            if (GUILayout.Button("Add Position", GUILayout.Height(22)))
            {
                activator.AddPosition(activator.transform.position);
            }
            if (GUILayout.Button("Remove Last", GUILayout.Height(22)))
            {
                if (activator.positionList.Count > 0)
                {
                    activator.positionList.RemoveAt(activator.positionList.Count - 1);
                }
            }
            if (GUILayout.Button("Clear All", GUILayout.Height(22)))
            {
                activator.positionList.Clear();
            }

            // End
            EditorGUILayout.EndHorizontal();

            // Space
            GUILayout.Space(3);

            // Positions info
            if (activator.positionList != null && activator.positionList.Count > 0)
            {
                GUILayout.Label("Positions : " + activator.positionList.Count);

                // Space
                GUILayout.Space(2);
            }

            // Space
            GUILayout.Space(8);

            // Draw script UI
            DrawDefaultInspector();
        }
        // Inspector
        public override void OnInspectorGUI()
        {
            // Get target
            RayfireActivator activator = target as RayfireActivator;

            // Space
            GUILayout.Space(8);

            // Buttons
            if (Application.isPlaying == true)
            {
                // Begin
                GUILayout.BeginHorizontal();

                // Cache buttons
                if (GUILayout.Button("   Start   ", GUILayout.Height(25)))
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireActivator != null)
                        {
                            (targ as RayfireActivator).TriggerAnimation();
                        }
                    }
                }
                if (GUILayout.Button("    Stop    ", GUILayout.Height(25)))
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireActivator != null)
                        {
                            (targ as RayfireActivator).StopAnimation();
                        }
                    }
                }
                if (GUILayout.Button("Reset", GUILayout.Height(25)))
                {
                    foreach (var targ in targets)
                    {
                        if (targ as RayfireActivator != null)
                        {
                            (targ as RayfireActivator).ResetAnimation();
                        }
                    }
                }

                // End
                EditorGUILayout.EndHorizontal();
            }

            // Space
            GUILayout.Space(1);

            // Begin
            GUILayout.BeginHorizontal();

            // Cache buttons
            if (GUILayout.Button("Add Position"))
            {
                activator.AddPosition(activator.transform.position);
            }
            if (GUILayout.Button("Remove Last"))
            {
                if (activator.positionList.Count > 0)
                {
                    activator.positionList.RemoveAt(activator.positionList.Count - 1);
                }
            }
            if (GUILayout.Button("Clear All"))
            {
                activator.positionList.Clear();
            }

            // End
            EditorGUILayout.EndHorizontal();

            // Space
            GUILayout.Space(3);

            // Positions info
            if (activator.positionList != null && activator.positionList.Count > 0)
            {
                GUILayout.Label("Positions : " + activator.positionList.Count);

                // Space
                GUILayout.Space(2);
            }

            // Draw script UI
            DrawDefaultInspector();
        }