69 lines
1.1 KiB
Plaintext
69 lines
1.1 KiB
Plaintext
// ВНИМАНИЕ Сгенерировано автоматом из файла %MODULE%.yml
|
||
// ВНИМАНИЕ Не менять руками!
|
||
|
||
%IMPORTS%
|
||
|
||
// MARK: - Context
|
||
|
||
public protocol %MODULE%Context {
|
||
%CONTEXT_FIELDS%
|
||
}
|
||
|
||
// MARK: - Controller
|
||
|
||
extension %MODULE% {
|
||
final class Controller: MPAK.Controller<%MODULE%.Model> {
|
||
init() {
|
||
super.init(
|
||
%MODULE%.Model(),
|
||
debugClassName: "%MODULE_SHORT%Ctrl",
|
||
debugLog: { aelog($0) }
|
||
)
|
||
}
|
||
}
|
||
|
||
%CORE%
|
||
|
||
// MARK: - Model
|
||
|
||
public struct Model: %MODULE%Context {
|
||
%MODEL_FIELDS%
|
||
}
|
||
|
||
// MARK: - Service
|
||
|
||
public final class Service {
|
||
let ctrl = Controller()
|
||
let world: World
|
||
%SERVICE_CORE%
|
||
var subscriptions = [AnyCancellable]()
|
||
static private(set) weak var singleton: Service?
|
||
|
||
public init(_ world: World) {
|
||
self.world = world
|
||
Self.singleton = self
|
||
%SERVICE_SECTIONS%
|
||
}
|
||
}
|
||
|
||
// MARK: - World
|
||
|
||
public struct World {
|
||
%WORLD_FIELDS%
|
||
|
||
public init(
|
||
%WORLD_PARAMETERS%
|
||
) {
|
||
%WORLD_CONSTRUCTOR%
|
||
}
|
||
}
|
||
|
||
enum SectionGenerated {
|
||
|
||
%CORE_SECTION_GENERATED%
|
||
|
||
%SERVICE_SECTION_GENERATED%
|
||
|
||
}
|
||
}
|