シミュレートされるすべてのオブジェクトをbuildObjectsで作成すると、次はそれらをbuildActionsメソッドでスケジューリングします。
modelActions = [ActionGroup create: [self getZone]]; [modelActions createActionTo: heat message: M(stepRule)]; [modelActions createActionForEach: heatbugList message: M(step)]; [modelActions createActionTo: heat message: M(updateLattice)]; modelSchedule = [Schedule createBegin: [self getZone]]; [modelSchedule setRepeatInterval: 1]; modelSchedule = [modelSchedule createEnd]; [modelSchedule at: 0 createAction: modelActions]; |
現在のheatbugのモデルスケジュールは、modelActionsと呼ばれるActionGroupと、modelScheduleと呼ばれるScheduleという2つのコンポーネントで構成されています。ActionGroupは3つのメッセージの固く連結されたリストで、そのアクショングループが実行されるたびに3つのメッセージを一行で送ります。
[heat stepRule]; [heatbugList forEach: step]; [heat updateLattice]; |