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 AddFont( FontEd font, bool showFontWindow )
        {
            FontAssetItem fontItem = new FontAssetItem( font );
            _SetAssetItemProperties( fontItem );
            fontItem.AssetClicked += new AssetItemEventHandler( FontAssetClicked );
            fontItem.AssetDoubleClicked += new AssetItemEventHandler( FontAssetDoubleClicked );

            _fontsTabPanel.Controls.Add( fontItem );
            _fontItems.Add( font.Name, fontItem );

            font.FontAdded = true;

            if( showFontWindow )
                fontItem.SpriteFontWindow.Show( );
        }
 private void FontAssetClicked( AssetItem sender, MouseEventArgs e )
 {
     if( e.Button == MouseButtons.Right )
     {
         _selectedFontItem = sender as FontAssetItem;
         _menuFontItem.Show( sender, e.Location );
     }
 }
        public void DeleteFont( FontAssetItem fontItem )
        {
            Classes.Collections.ActorEdPool actorPool = new Classes.Collections.ActorEdPool( );
            //In here, it searches for all TextActors and delete them if they share the same SpriteFont
            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.IsTextActor )
                            if( actor.FontAsset == fontItem )
                                actorPool.Add( actor );
                    }
                    foreach( ActorEd actor in layer.Actors )
                    {
                        layer.RemoveActor( actor );
                    }

                    actorPool.Clear( );
                }
            }

            File.Delete( fontItem.FilePath );

            _fontsTabPanel.Controls.Remove( fontItem );
            _fontItems.Remove( fontItem.AssetName );

            fontItem.Dispose( );

            Global.MainWindow.OnAssetRemoved( );
        }