sonolus.script.globals¶
level_data(cls: type[T]) -> T
¶
Define level data.
Level data may only be modified during preprocess
.
Compared to level memory, it enables some optimizations during gameplay, so it's recommended to use it
if mutation is only needed during preprocessing.
Usage
@level_data
class LevelData:
variable: int
variable = level_data(Array[int, 10])
def f():
LevelData.variable = 1
variable[0] = 2
level_memory(cls: type[T]) -> T
¶
Define level memory.
Level memory may be modified during gameplay in sequential callbacks
(preprocess
,
update_sequential
,
touch
).
Compared to level data, it allows modification during gameplay, but prevents some optimizations.
Usage
@level_memory
class LevelMemory:
variable: int
variable = level_memory(Array[int, 10])
def f():
LevelMemory.variable = 1
variable[0] = 2