X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmobs%2FPig.kt;h=68c457ee05887ee81521ac93bffe0740e8e84688;hb=6bb7e1d207c640ff3b8e41ce2fb1c6203985bdb1;hp=4f9d5fcef6caa2d48dd59cb8cdb291696a8c55f8;hpb=ed1189467d0d1b57df7ca1335f2134c08acae5ec;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/mobs/Pig.kt b/core/src/ru/deadsoftware/cavedroid/game/mobs/Pig.kt index 4f9d5fc..68c457e 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/mobs/Pig.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/mobs/Pig.kt @@ -3,6 +3,7 @@ package ru.deadsoftware.cavedroid.game.mobs import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.math.MathUtils import com.badlogic.gdx.math.Vector2 +import ru.deadsoftware.cavedroid.game.GameItemsHolder import ru.deadsoftware.cavedroid.game.world.GameWorld import ru.deadsoftware.cavedroid.misc.utils.drawSprite import ru.deadsoftware.cavedroid.misc.utils.mobs.MobSprites.Pig.getBackgroundLeg @@ -26,8 +27,18 @@ class Pig(x: Float, y: Float) : Mob(x, y, WIDTH, HEIGHT, randomDir(), Type.MOB, override fun jump() { velocity.y = JUMP_VELOCITY } - - override fun ai(world: GameWorld, delta: Float) { + + override fun damage(damage: Int) { + super.damage(damage) + + if (damage > 0) { + if (canJump()) { + jump() + } + } + } + + override fun ai(world: GameWorld, gameItemsHolder: GameItemsHolder, mobsController: MobsController, delta: Float) { if (MathUtils.randomBoolean(delta)) { if (velocity.x != 0f) { velocity.x = 0f @@ -44,19 +55,19 @@ class Pig(x: Float, y: Float) : Mob(x, y, WIDTH, HEIGHT, randomDir(), Type.MOB, val rightLegX = x + getRightLegRelativeX(direction) val legY = y + getLegsRelativeY() - spriteBatch.drawSprite(getBackgroundLeg(), leftLegX, legY, -anim) - spriteBatch.drawSprite(getBackgroundLeg(), rightLegX, legY, -anim) - spriteBatch.drawSprite(getBody(direction), x, y) - spriteBatch.drawSprite(getForegroundLeg(), leftLegX, legY, anim) - spriteBatch.drawSprite(getForegroundLeg(), rightLegX, legY, anim) + spriteBatch.drawSprite(getBackgroundLeg(), leftLegX, legY, -anim, tint = tintColor) + spriteBatch.drawSprite(getBackgroundLeg(), rightLegX, legY, -anim, tint = tintColor) + spriteBatch.drawSprite(getBody(direction), x, y, tint = tintColor) + spriteBatch.drawSprite(getForegroundLeg(), leftLegX, legY, anim, tint = tintColor) + spriteBatch.drawSprite(getForegroundLeg(), rightLegX, legY, anim, tint = tintColor) } private companion object { private const val WIDTH = 25f private const val HEIGHT = 18f - private const val SPEED = 69.072f + private const val SPEED = 48f private const val JUMP_VELOCITY = -133.332f - private const val MAX_HEALTH = 10; + private const val MAX_HEALTH = 10 } } \ No newline at end of file