Python:
class Pipe:
def __init__(self):
self.nulify: bool = False
def nulify(self):
self.nulify = True
def is_nullified(self):
temp = self.nulify
self.nulify = False
return temp
def input(self, ear: str, skin: str, eye: str, stave:str)->str:
pass
class PipeSkill(Skill):
# connects line of pipes, each pipe may mod input
def __init__(self, *pipes: Pipe):
super().__init__()
self.stav: str = ""
self.pipes: list[Pipe] = []
for pipe in pipes:
self.pipes.append(pipe)
def clear_stav(self):
self.stav = ""
def input(self, ear: str, skin: str, eye: str):
for pipe in self.pipes:
temp = pipe.input(ear, skin, eye, self.stav)
if pipe.is_nullified():
self.clear_stav()
return
if len(temp)>0:
self.stav = temp
if len(self.stav)>0:
self.setSimpleAlg(self.stav)
self.clear_stav()
return
if len(ear)>0:
self.setSimpleAlg(ear)