DEADSOFTWARE

accd9722c943f63a2bfe27c55154a2682bcee55b
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / Drop.kt
1 package ru.deadsoftware.cavedroid.game.objects
3 import com.badlogic.gdx.math.Intersector
4 import com.badlogic.gdx.math.Rectangle
5 import com.badlogic.gdx.math.Vector2
7 class Drop(
8 x: Float,
9 y: Float,
10 val id: Int,
11 ) : Rectangle(x, y, DROP_SIZE, DROP_SIZE) {
13 val velocity = getInitialVelocity()
14 var pickedUp = false
16 fun canMagnetTo(rectangle: Rectangle): Boolean {
17 val magnetArea = getMagnetArea()
18 return Intersector.overlaps(magnetArea, rectangle)
19 }
21 private fun getMagnetArea(): Rectangle {
22 return Rectangle(
23 /* x = */ x - MAGNET_DISTANCE,
24 /* y = */ y - MAGNET_DISTANCE,
25 /* width = */ width + MAGNET_DISTANCE * 2,
26 /* height = */ height + MAGNET_DISTANCE * 2,
27 )
28 }
30 companion object {
31 private const val MAGNET_DISTANCE = 16f
33 const val MAGNET_VELOCITY = 128f
34 const val DROP_SIZE = 8f
36 private fun getInitialVelocity(): Vector2 = Vector2(0f, -1f)
37 }
38 }