DEADSOFTWARE

Add mobs damage and initial spawn
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / actions / useitem / UsePigSpawnEggAction.kt
1 package ru.deadsoftware.cavedroid.game.actions.useitem
3 import ru.deadsoftware.cavedroid.game.GameItemsHolder
4 import ru.deadsoftware.cavedroid.game.GameScope
5 import ru.deadsoftware.cavedroid.game.mobs.MobsController
6 import ru.deadsoftware.cavedroid.game.mobs.Pig
7 import ru.deadsoftware.cavedroid.game.model.item.Item
8 import ru.deadsoftware.cavedroid.misc.utils.px
9 import javax.inject.Inject
11 @GameScope
12 class UsePigSpawnEggAction @Inject constructor(
13 private val mobsController: MobsController,
14 private val gameItemsHolder: GameItemsHolder,
15 ) : IUseItemAction {
17 override fun perform(item: Item.Usable, x: Int, y: Int) {
18 Pig(mobsController.player.cursorX.px, mobsController.player.cursorY.px)
19 .apply {
20 attachToController(mobsController)
21 }
23 mobsController.player.decreaseCurrentItemCount(gameItemsHolder)
24 }
26 companion object {
27 const val ACTION_KEY = "use_spawn_egg_pig"
28 }
29 }