Skip to content

Commit

Permalink
Player controller
Browse files Browse the repository at this point in the history
  • Loading branch information
GregHib committed Apr 12, 2020
1 parent 960ed67 commit 41276d9
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package org.redrune.engine.entity.event.player

import org.redrune.engine.entity.model.Player
import org.redrune.engine.event.Event

/**
* @author Greg Hibberd <greg@greghibberd.com>
* @since March 31, 2020
*/
abstract class PlayerEvent : Event() {
abstract val player: Player
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package org.redrune.engine.entity.event.player

/**
* @author Greg Hibberd <greg@greghibberd.com>
* @since March 31, 2020
*/
typealias PlayerRequest = PlayerEvent
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.redrune.engine.player

import org.redrune.engine.entity.event.player.PlayerRequest

/**
* @author Greg Hibberd <greg@greghibberd.com>
* @since March 31, 2020
*/
interface PlayerController {

fun send(request: PlayerRequest)

}
24 changes: 24 additions & 0 deletions engine/src/main/kotlin/org/redrune/engine/player/PlayerControls.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.redrune.engine.player

import org.koin.dsl.module
import org.redrune.engine.entity.event.player.PlayerRequest
import org.redrune.engine.event.EventBus
import org.redrune.utility.inject

/**
* @author Greg Hibberd <greg@greghibberd.com>
* @since March 31, 2020
*/
class PlayerControls : PlayerController {

private val bus: EventBus by inject()

override fun send(request: PlayerRequest) {
bus.emit(request)
}

}

val controlModule = module {
single { PlayerControls() as PlayerController }
}

0 comments on commit 41276d9

Please sign in to comment.