AGS.Editor.AGSEditor.DeleteSprite C# (CSharp) Метод

DeleteSprite() публичный Метод

public DeleteSprite ( Sprite sprite ) : void
sprite Sprite
Результат void
        public void DeleteSprite(Sprite sprite)
        {
            string usageReport = new SpriteUsageChecker().GetSpriteUsageReport(sprite.Number, _game);
            if (usageReport != null)
            {
                throw new SpriteInUseException("Cannot delete a sprite because it is in use:" + Environment.NewLine + usageReport);
            }
            else if (AboutToDeleteSprite(sprite.Number))
            {
                SpriteFolder parent = _game.RootSpriteFolder.FindFolderThatContainsSprite(sprite.Number);
                if (parent == null)
                {
                    throw new AGSEditorException("The sprite " + sprite.Number + " could not be found in any sprite folders");
                }
                parent.Sprites.Remove(sprite);
                Factory.NativeProxy.DeleteSprite(sprite);
            }
            else
            {
                throw new SpriteInUseException("An editor component did not allow sprite " + sprite.Number + " to be deleted");
            }
        }

Usage Example

Пример #1
0
 void IAGSEditor.DeleteSprite(int spriteNumber)
 {
     Sprite sprite = _agsEditor.CurrentGame.RootSpriteFolder.FindSpriteByID(spriteNumber, true);
     if (sprite == null)
     {
         throw new AGSEditorException("The sprite " + spriteNumber + " could not be found");
     }
     _agsEditor.DeleteSprite(sprite);
     _agsEditor.CurrentGame.RootSpriteFolder.NotifyClientsOfUpdate();
 }