init { { "001": { "transform": { "rotation": { "x": 0.0, "y": 0.0, "z": 0.0 }, "scale": { "x": 1.0, "y": 1.0, "z": 1.0 }, "position": { "x": 0.0, "y": 0.0, "z": 0.0 } }, "mesh": { "sprite": GameEngine/resources/test.png, "type": sprite } }, "002": { "transform": { "rotation": { "x": 0.0, "y": 0.0, "z": 0.0 }, "scale": { "x": 1.0, "y": 1.0, "z": 1.0 }, "position": { "x": 0.0, "y": 0.0, "z": 0.0 } }, "mesh": { "sprite": GameEngine/resources/test.png, "type": sprite } } } } channel KeyEvent { out state(curState:Int,keyEvent(nextState)) = nextState } channel SceneUpdateEvent { out time(time:Long,updateEvent(dt:Long)) = (time+dt) } channel TimerEvent { out count(count:Long,tick()) = (count+1) } channel EntitySpriteUpdate { in mesh(curMesh:Json,updateSprite(spritePath:Str)) = { ""sprite"": spritePath, ""type"": "sprite" } } channel EntityScaleUpdate { in scale(curScale:Json,updateScale(nextScale.{x},nextScale.{y},nextScale.{z})) = nextScale } channel EntityPositionUpdate { in position(curPos:Json,updatePosition(nextPos.{x},nextPos.{y},nextPos.{z})) = nextPos } channel CameraProjectionUpdate { in projection(curProj:Json,updateProjection(curProj,nextProj)) = nextProj } channel TimersUpdated { in timers(curTimers:Map,update(curTimers,nextTimers)) = nextTimers } channel CameraPositionUpdate { in position(curPos:Json,updatePosition(nextPos.{x},nextPos.{y},nextPos.{z})) = nextPos } channel SceneUpdate { in scene(curSc:Json,update(curSc,nextSc)) = nextSc } channel CameraScaleUpdate { in scale(curScale:Json,updateScale(nextScale.{x},nextScale.{y},nextScale.{z})) = nextScale } channel EntityRotationUpdate { in rotation(curRot:Json,updateRotation(nextRot.{x},nextRot.{y},nextRot.{z})) = nextRot } channel CameraRotationUpdate { in rotation(curRot:Json,updateRotation(nextRot.{x},nextRot.{y},nextRot.{z})) = nextRot }