private void _ClearVars( )
        {
            _selectedScriptItem = null;
            _spritesTabPanel.Controls.Clear( );
            _spriteItems.Clear( );

            _selectedActorItem = null;
            _actorsTabPanel.Controls.Clear( );
            _actorItems.Clear( );

            _selectedScriptItem = null;
            _scriptsTabPanel.Controls.Clear( );
            _scriptItems.Clear( );

            _selectedFontItem = null;
            _fontsTabPanel.Controls.Clear( );
            _fontItems.Clear( );
        }
        private void ActorAssetClicked( AssetItem sender, MouseEventArgs e )
        {
            if( _selectedActorItem != null )
                _selectedActorItem.DeselectMe( );

            _selectedActorItem = sender as ActorAssetItem;
            _selectedActorItem.SelectMe( );

            Global.Properties.SelectObject( _selectedActorItem.Actor.Properties );

            Global.Tools.IsSelectionMode = false;

            if( e.Button == MouseButtons.Right )
            {
                _actorItemContextMenu.Show( sender, e.Location );
            }
        }
        private void AddActor( ActorTypeEd actor )
        {
            ActorAssetItem actorItem = new ActorAssetItem( actor );
            _SetAssetItemProperties( actorItem );
            actorItem.AssetClicked += new AssetItemEventHandler( ActorAssetClicked );

            _actorsTabPanel.Controls.Add( actorItem );
            _actorItems.Add( actor.Name, actorItem );

            actor.ActorAdded = true;
        }
        public void DeleteActor( ActorAssetItem actorItem )
        {
            ActorTypeEd actorType = actorItem.Actor;

            Classes.Collections.ActorEdPool pool = new Classes.Collections.ActorEdPool( );

            foreach( LevelEd level in Global.World.Levels )
            {
                foreach( LayerEd layer in level.Layers )
                {
                    if( layer.Actors.Count == 0 )
                        continue;

                    foreach( ActorEd actor in layer.Actors )
                    {
                        if( actor.Parent == actorType )
                            pool.Add( actor );
                    }
                    foreach( ActorEd actor in pool )
                    {
                        layer.RemoveActor( actor );
                    }

                    pool.Clear( );
                }
            }

            File.Delete( actorItem.FilePath );

            _actorsTabPanel.Controls.Remove( actorItem );
            _actorItems.Remove( actorType.Name );
            _selectedActorItem = null;

            actorItem.Dispose( );

            Global.MainWindow.OnAssetRemoved( );
        }