public void Initialize( string[] spritePaths, string[] scriptPaths, string[] actorPaths, string[] fontPaths )
        {
            try
            {
                if( !_isReset )
                    throw new Exception( Global.EditorTxt.AssetsInitializeError );

                if( !Directory.Exists( GetAssetFolder( AssetType.Sprite ) ) )
                    Directory.CreateDirectory( GetAssetFolder( AssetType.Sprite ) );
                if( !Directory.Exists( GetAssetFolder( AssetType.Actor ) ) )
                    Directory.CreateDirectory( GetAssetFolder( AssetType.Actor ) );
                if( !Directory.Exists( GetAssetFolder( AssetType.Script ) ) )
                    Directory.CreateDirectory( GetAssetFolder( AssetType.Script ) );
                if( !Directory.Exists( GetAssetFolder( AssetType.Font ) ) )
                    Directory.CreateDirectory( GetAssetFolder( AssetType.Font ) );

                _noSpriteItem = new AssetViewItem( AssetType.Sprite, "NoSprite" );
                _noSpriteItem.Sprite = Helper.GetSpriteFromImage( Global.GraphicsDevice, Properties.Resources.NoSprite );

                LoadAssets( spritePaths, scriptPaths, actorPaths, fontPaths );
            }
            catch( Exception e )
            {
                ErrorReport.Throw( e );
            }
        }
        private void DeleteSprite( AssetViewItem spriteItem )
        {
            try
            {

            }
            catch( Exception e )
            {
                ErrorReport.Throw( e );
            }
        }
        private void DeleteScript( AssetViewItem scriptItem )
        {
            try
            {

            }
            catch( Exception e )
            {
                ErrorReport.Throw( e );
            }
        }
        private void DeleteFont( AssetViewItem fontItem )
        {
            try
            {

            }
            catch( Exception e )
            {
                ErrorReport.Throw( e );
            }
        }
        private void DeleteActor( AssetViewItem actorItem )
        {
            try
            {
                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 );
                        }
                    }
                }

                File.Delete( actorItem.Actor.FilePath );

                _actorItems.Remove( actorType.Name );
                actorItem.Remove( );

                Global.MainWindow.OnAssetRemoved( );
            }
            catch( Exception e )
            {
                ErrorReport.Throw( e );
            }
        }
        private void AddActor( ActorTypeEd actor )
        {
            try
            {
                AssetViewItem item = new AssetViewItem( AssetType.Actor, actor.Name );
                _listAssets.Items.Add( item );
                item.Init( );
                item.Actor = actor;

                _actorItems.Add( actor.Name, item );
            }
            catch( Exception e )
            {
                ErrorReport.Throw( e );
            }
        }