A KorGE Game Library example game (CounterStrike) has the following construct:
sealed class SideEffect{
class Hit() : SideEffect()
class TerroristShot(val terrorist: Terrorist) : SideEffect()
class KillTerrorist(val terrorist: Terrorist) : SideEffect()
class ShowTerrorist(val terrorist: Terrorist) : SideEffect()
class HideTerrorist(val terrorist: Terrorist) : SideEffect()
class CounterTerroristWin : SideEffect()
class TerroristsWin : SideEffect()
}
and I am struggling to understand what the resulting (overall) Object actually is. Does resulting Object actually take up the space of SEVEN SideEffect classes, or ONE? (Or is this a trick question if the classes would all be identical except the name)?