using System;
using System.Collections.Generic;
using System.Linq;
using Barotrauma.Extensions;
using Barotrauma.Items.Components;
using Microsoft.Xna.Framework;
namespace Barotrauma
{
///
/// Implementation of the Command pattern.
///
///
///
/// Created by Markus Isberg on 11th of March 2020 for the submarine editor.
/// "Implementing a global undo and redo with Memento pattern proved too difficult of a task for me so I implemented it with this pattern instead."
///
internal abstract partial class Command
{
///
/// A method that should apply a new state on an object or perform an action
///
public abstract void Execute();
///
/// A method that should revert Execute() method's actions
///
public abstract void UnExecute();
///
/// State no longer exists, clean up the lingering garbage
///
public abstract void Cleanup();
}
}