diff --git a/BallanceTasEditor/Utils/TasOperation.cs b/BallanceTasEditor/Utils/TasOperation.cs new file mode 100644 index 0000000..535798f --- /dev/null +++ b/BallanceTasEditor/Utils/TasOperation.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BallanceTasEditor.Utils { + + /// + /// TAS操作接口。所有TAS操作均需要支持此接口。 + /// + public interface ITasOperation { + /// + /// 执行对应的TAS操作。 + /// + /// 所要操作的TAS存储容器。 + void Execute(ITasStorage storage); + } + + /// + /// 可撤销的TAS操作接口,所有可撤销的TAS操作均需支持此接口。 + /// + public interface ITasRevocableOperation : ITasOperation { + /// + /// 撤销对应TAS操作。 + /// + /// 所要撤销操作的TAS存储容器。 + void Revoke(ITasStorage storage); + } + + public enum CellKeysOperationKind { + Set, Unset, Flip + } + + public class CellKeysOperation : ITasRevocableOperation { + + private CellKeysOperationKind m_Kind; + + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + + public void Revoke(ITasStorage storage) { + throw new NotImplementedException(); + } + } + + public class CellFpsOperation : ITasRevocableOperation { + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + + public void Revoke(ITasStorage storage) { + throw new NotImplementedException(); + } + } + + public class RemoveFrameOperation : ITasRevocableOperation { + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + + public void Revoke(ITasStorage storage) { + throw new NotImplementedException(); + } + } + + public class AddFrameOperation : ITasRevocableOperation { + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + + public void Revoke(ITasStorage storage) { + throw new NotImplementedException(); + } + } + + public class InsertFrameOperation : ITasRevocableOperation { + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + + public void Revoke(ITasStorage storage) { + throw new NotImplementedException(); + } + } + + public class ClearKeysOperation : ITasOperation { + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + } + + public class UniformFpsOperation : ITasOperation { + public void Execute(ITasStorage storage) { + throw new NotImplementedException(); + } + } + +}