Commit 5552e54f authored by deregges's avatar deregges

Fixed privacy issues

Added some doc
Removed unused files and constructs
Fixed language issue with "START GAME"
Updated fabric tools
parent 20896001
......@@ -9,7 +9,7 @@ buildscript {
// We recommend changing it to the latest version from our changelog:
// https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
classpath 'io.fabric.tools:gradle:1.27.1'
classpath 'io.fabric.tools:gradle:1.28.1'
}
}
......
......@@ -6,7 +6,7 @@ import android.graphics.Canvas
import android.view.SurfaceView
@SuppressLint("ViewConstructor")
class DelegatingSurfaceView(private val ctx: Context, private val pDraw: (Canvas) -> Unit) : SurfaceView(ctx) {
class DelegatingSurfaceView(ctx: Context, private val pDraw: (Canvas) -> Unit) : SurfaceView(ctx) {
override fun draw(canvas: Canvas) {
super.draw(canvas)
pDraw(canvas)
......
......@@ -52,7 +52,7 @@ class Player(pm: PathManager) : Sprite(pm) {
return paint
}
fun isOnPath(): Boolean {
private fun isOnPath(): Boolean {
val unified = Path()
for (path in pm.getPaths()) unified.addPath(path)
......
......@@ -9,7 +9,7 @@ import io.ender.pathchaser.paths.BossPath
import io.ender.pathchaser.paths.PathManager
import io.ender.pathchaser.util.Constants
class Boss(p: PointF, pm: PathManager, val bp: BossPath) : Enemy(p, pm) {
class Boss(p: PointF, pm: PathManager, private val bp: BossPath) : Enemy(p, pm) {
var life = 10
set(value) {
if (value == 0) {
......
......@@ -12,9 +12,13 @@ import io.ender.pathchaser.util.startActivity
import io.fabric.sdk.android.Fabric
import kotlinx.android.synthetic.main.a_mainmenu.*
/**
* Launching activity
*/
class MainMenu : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Init Crashlytics (disabled in debug builds)
Fabric.with(
this,
Crashlytics.Builder().core(CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build()
......
......@@ -25,6 +25,7 @@ class Settings : AppCompatActivity() {
setContentView(R.layout.settings)
// difficulty
val maxDiff = Constants.Difficulty.values().size - 1
difficulty.configBuilder
.min(0f)
......@@ -54,6 +55,7 @@ class Settings : AppCompatActivity() {
}
}
// volume
volume.configBuilder
.min(0f)
.max(100f)
......@@ -73,6 +75,7 @@ class Settings : AppCompatActivity() {
}
}
// input method
inputMethod.adapter = object : ArrayAdapter<Constants.InputMethod>(
this,
android.R.layout.simple_list_item_1,
......@@ -98,6 +101,7 @@ class Settings : AppCompatActivity() {
}
inputMethod.setSelection(max(Constants.InputMethod.validValues().indexOf(Preferences.inputMethod), 0))
// rotation sensitivity
rotationSensitivity.configBuilder
.min(0f)
.max(1f)
......@@ -124,9 +128,11 @@ class Settings : AppCompatActivity() {
}
}
// experimental mode
enableExperimental.isChecked = Preferences.experimentalEnabled
enableExperimental.setOnCheckedChangeListener { _, new -> Preferences.experimentalEnabled = new }
// clear highscores
btnClearHighscores.setOnClickListener {
AlertDialog.Builder(this)
.setTitle(R.string.settings_btnClearHighscoresDialogTitle)
......
......@@ -8,9 +8,9 @@ import io.ender.pathchaser.util.Constants
class ArcPath(pm: PathManager, width: Float, private val length: Float, p: PointF, puls: Boolean) : Pathway(pm, p) {
private var pulsatingWidth: Float = length / 2 - width //Float describing the width of the hole at the moment
var pulsatingMax = length / 2 - Constants.playerRadius * 2.5 //Int describing the max radius of the Hole
var pulsatingMin = 0 //Int describing the min radius of the Hole
var pulsating = puls
private var pulsatingMax = length / 2 - Constants.playerRadius * 2.5 //Int describing the max radius of the Hole
private var pulsatingMin = 0 //Int describing the min radius of the Hole
private var pulsating = puls
private var pulsDirectionOut = true
/*private var collect = arrayOf(
......
......@@ -17,7 +17,7 @@ class PathManager(val game: GameActivity) : Serializable {
var degreesRotated = 0f
var degreesToRotate = 0f
var pause = false
var boss = false
private var boss = false
init {
// start path wrapping the player
......
......@@ -21,11 +21,6 @@ object Constants {
val playerOffset: PointF = PointF(0f, -40f)
const val rotationSensitivityRadius: Int = 2
object ExtensionPercentages {
const val arc = 0.25
const val rec = 0.5
}
enum class Difficulty(
val diffRes: Int,
val lives: Int,
......
package io.ender.pathchaser.util
import android.graphics.Path
import android.graphics.RectF
val Path.bounds: RectF get() {
val res = RectF()
computeBounds(res, true)
return res
}
val Path.x: Float get() = bounds.left
val Path.y: Float get() = bounds.top
val Path.w: Float get() = bounds.width()
val Path.h: Float get() = bounds.height()
fun Path.contains(other: Path): Boolean {
val opResult = Path()
......
......@@ -7,20 +7,26 @@ import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.SparseArray
import android.view.View
/**
* convenience method to start an activity
* @param extraFiller method to fill in extra values into the intent
*/
inline fun <reified A : Activity> Context.startActivity(extraFiller: Bundle.() -> Unit = {}) {
val extras = Bundle()
extraFiller(extras)
startActivity(Intent(this, A::class.java).putExtras(extras))
}
fun <T> SparseArray<T>.putAll(vararg pairs: Pair<Int, T>) {
for ((k, v) in pairs) put(k, v)
}
object Utils {
/**
* Lets the view's background color loop through the hue of the HSV color range
* @param offset the starting degrees of the HSV hue
* @param saturation HSV saturation
* @param value HSV value
* @param cycleLength the time in milliseconds to loop through
*/
fun animateView(
v: View,
offset: Long = 0,
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<pathway
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeColor="#00000000"
android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0"/>
<item
android:color="#00000000"
android:offset="1.0"/>
</gradient>
</aapt:attr>
</pathway>
<pathway
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeColor="#00000000"
android:strokeWidth="1"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<pathway android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z"/>
<pathway android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<pathway android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GameActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<resources>
<string name="mainmenuBtnStart">START GAME</string>
<string name="mainmenuBtnStart">START</string>
<string name="mainmenuBtnHighscores">HIGHSCORES</string>
<string name="mainmenuBtnSettings">EINSTELLUNGEN</string>
<string name="mainmenuBtnCredits">CREDITS</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment