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( ); }