Files
aego/contracts/scriptfields/scriptfields.go
T
sanspie 0fbf22a090 Stage 9.4a: curves, tween, timers
core/curve with presets, keys, wraps; KindCurve in schema, scenes, prefabs and the inspector curve editor.
modules/tween: tweens and timers in per-world pools, game and unscaled domains, script field targets via contracts/scriptfields.
Host handle types (abi.Handle, bind.Handle, manifest v5), yield on awaitable handles via contracts/scriptwait.
Script modules aego/curve, aego/tween, aego/timer; platformer enemy uses a cooldown and a fade-out tween.
Docs: tween.md, curves.md, language reference; golden for the curve editor.
2026-10-18 21:32:39 +03:00

26 lines
447 B
Go

package scriptfields
import (
"aego/scene"
"aego/script/abi"
"aego/script/vm"
)
const ServiceID = "script.fields"
type Ref struct {
Node scene.NodeHandle
Instance vm.InstanceID
Script string
Field string
Kind abi.Kind
Slot int
Layout any
}
type Fields interface {
ResolveField(node scene.NodeHandle, script, field string) (Ref, bool)
LoadField(ref *Ref) (vm.Value, bool)
StoreField(ref *Ref, v vm.Value) bool
}