import uk.co.nickthecoder.kyd.Actor
import uk.co.nickthecoder.kyd.Management
import uk.co.nickthecoder.kyd.Ticks
import uk.co.nickthecoder.kyd.appearance.flipBook
import uk.co.nickthecoder.kyd.appearance.flipBookAnimation
import uk.co.nickthecoder.kyd.appearance.page
import uk.co.nickthecoder.kyd.util.Vector2
class Ship : Item() {
override fun onEnteredStage(actor: Actor) {
super.onEnteredStage(actor)
val grid = PlayDirector.instance.grid
// Prevent Player walking over the legs.
grid[gridX - 1][gridY - 1] = actor
grid[gridX + 1][gridY - 1] = actor
}
override fun tick(actor: Actor, seconds: Float) {
(actor.appearance as? Ticks)?.tick(actor, seconds)
}
fun blastOff(myActor: Actor) {
var speed = 10f
flipBook {
repetitions = 1
page(null, 6f) {
tick { actor, seconds ->
actor.position += Vector2(0f, speed * seconds)
speed += 3f
}
}
onFinished {
println("Congratulations")
Management.instance.loadAct("/menu")
}
}.applyToActor(myActor)
}
}