Source code for RWESharp.Modify.HistoryElement
from __future__ import annotations
from typing import TYPE_CHECKING
from abc import ABC, abstractmethod
if TYPE_CHECKING:
from RWESharp.Core.HistorySystem import LevelHistory
[docs]
class HistoryElement(ABC):
"""
Base for creating history elements
"""
[docs]
def __init__(self, history: LevelHistory):
self.history: LevelHistory = history
[docs]
@abstractmethod
def undo_changes(self):
pass
[docs]
@abstractmethod
def redo_changes(self):
pass
@property
def manager(self):
return self.history.level.manager
@property
def basemod(self):
return self.manager.basemod
@property
def level(self):
return self.history.level