@@ -2,22 +2,25 @@ import { DOWN, LEFT, RIGHT, UP } from "../util/dir.ts"
22import { Input , inputQueue } from "./ui/input.ts"
33import {
44 Actor ,
5- ActorMove ,
65 type IdleDelegate ,
76 type MoveEndDelegate ,
87} from "../model/actor.ts"
9- import type { IField , MovePlan } from "../model/types.ts"
8+ import type { IField , Move } from "../model/types.ts"
109
1110export class IdleMainActor implements IdleDelegate {
12- onIdle ( _actor : Actor , _field : IField ) : MovePlan | undefined {
11+ onIdle ( actor : Actor , field : IField ) : void {
1312 if ( Input . up ) {
14- return { type : "go" , dir : UP }
13+ actor . tryMove ( "go" , UP , field )
14+ return
1515 } else if ( Input . down ) {
16- return { type : "go" , dir : DOWN }
16+ actor . tryMove ( "go" , DOWN , field )
17+ return
1718 } else if ( Input . left ) {
18- return { type : "go" , dir : LEFT }
19+ actor . tryMove ( "go" , LEFT , field )
20+ return
1921 } else if ( Input . right ) {
20- return { type : "go" , dir : RIGHT }
22+ actor . tryMove ( "go" , RIGHT , field )
23+ return
2124 }
2225
2326 const queueHead = inputQueue [ 0 ]
@@ -27,13 +30,13 @@ export class IdleMainActor implements IdleDelegate {
2730 queueHead === "touchendempty"
2831 ) {
2932 inputQueue . shift ( )
30- return { type : " jump" }
33+ actor . jump ( )
3134 }
3235 }
3336}
3437
3538export class MoveEndMainActor implements MoveEndDelegate {
36- onMoveEnd ( actor : Actor , field : IField , _move : ActorMove ) : void {
39+ onMoveEnd ( actor : Actor , field : IField , _move : Move ) : void {
3740 field . peekItem ( actor . i , actor . j ) ?. onCollect ( actor , field )
3841 }
3942}
0 commit comments