mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Compare commits
6 Commits
AndroidX-M
...
auto_build
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a317d8d59f | ||
|
|
1dac8162a9 | ||
|
|
bdad5c721f | ||
|
|
04ce2efffb | ||
|
|
171dfe4d46 | ||
|
|
1e4aaec675 |
34
.github/workflows/gradle2.yml
vendored
Normal file
34
.github/workflows/gradle2.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# This workflow uses actions that are not certified by GitHub.
|
||||||
|
# They are provided by a third-party and are governed by
|
||||||
|
# separate terms of service, privacy policy, and support
|
||||||
|
# documentation.
|
||||||
|
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
|
||||||
|
|
||||||
|
name: Build Gradle
|
||||||
|
|
||||||
|
on: workflow_dispatch
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
java-version: '11'
|
||||||
|
distribution: 'temurin'
|
||||||
|
- name: Validate Gradle wrapper
|
||||||
|
uses: gradle/wrapper-validation-action@v1.0.4
|
||||||
|
- name: Make gradle wrapper executable
|
||||||
|
run: chmod +x ./AndorsTrail/gradlew
|
||||||
|
- name: Build with Gradle
|
||||||
|
uses: gradle/gradle-build-action@v2.3.2
|
||||||
|
with:
|
||||||
|
arguments: build
|
||||||
|
build-root-directory: ./AndorsTrail
|
||||||
Binary file not shown.
Binary file not shown.
6
AndorsTrail/.idea/compiler.xml
generated
6
AndorsTrail/.idea/compiler.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="CompilerConfiguration">
|
|
||||||
<bytecodeTargetLevel target="11" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
20
AndorsTrail/.idea/gradle.xml
generated
20
AndorsTrail/.idea/gradle.xml
generated
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
|
||||||
<component name="GradleSettings">
|
|
||||||
<option name="linkedExternalProjectsSettings">
|
|
||||||
<GradleProjectSettings>
|
|
||||||
<option name="testRunner" value="GRADLE" />
|
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
||||||
<option name="gradleJvm" value="1.8" />
|
|
||||||
<option name="modules">
|
|
||||||
<set>
|
|
||||||
<option value="$PROJECT_DIR$" />
|
|
||||||
<option value="$PROJECT_DIR$/app" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</GradleProjectSettings>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
25
AndorsTrail/.idea/jarRepositories.xml
generated
25
AndorsTrail/.idea/jarRepositories.xml
generated
@@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="RemoteRepositoriesConfiguration">
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="central" />
|
|
||||||
<option name="name" value="Maven Central repository" />
|
|
||||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="jboss.community" />
|
|
||||||
<option name="name" value="JBoss Community repository" />
|
|
||||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="BintrayJCenter" />
|
|
||||||
<option name="name" value="BintrayJCenter" />
|
|
||||||
<option name="url" value="https://jcenter.bintray.com/" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="Google" />
|
|
||||||
<option name="name" value="Google" />
|
|
||||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
|
||||||
</remote-repository>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
10
AndorsTrail/.idea/misc.xml
generated
10
AndorsTrail/.idea/misc.xml
generated
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectType">
|
|
||||||
<option name="id" value="Android" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
6
AndorsTrail/.idea/vcs.xml
generated
6
AndorsTrail/.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
lintOptions{
|
||||||
|
baseline file("lint.xml")
|
||||||
|
abortOnError true
|
||||||
|
}
|
||||||
compileSdkVersion 30
|
compileSdkVersion 30
|
||||||
buildToolsVersion "30.0.3"
|
buildToolsVersion "30.0.3"
|
||||||
|
|
||||||
@@ -19,7 +23,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.android.support:support-v4:28.0.0'
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
task copyRes(type: Copy) {
|
task copyRes(type: Copy) {
|
||||||
|
|||||||
@@ -9,5 +9,7 @@
|
|||||||
<issue id="IconLocation" severity="ignore" />
|
<issue id="IconLocation" severity="ignore" />
|
||||||
<issue id="UnusedResources" severity="ignore" />
|
<issue id="UnusedResources" severity="ignore" />
|
||||||
<issue id="DefaultLocale" severity="ignore" />
|
<issue id="DefaultLocale" severity="ignore" />
|
||||||
|
<issue id="StringFormatInvalid" severity="ignore" />
|
||||||
|
<issue id="StringFormatMatches" severity="ignore" />
|
||||||
<issue id="NewApi" severity="error" />
|
<issue id="NewApi" severity="error" />
|
||||||
</lint>
|
</lint>
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<activity android:name="com.gpl.rpg.AndorsTrail.activity.DisplayWorldMapActivity" />
|
<activity android:name="com.gpl.rpg.AndorsTrail.activity.DisplayWorldMapActivity" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="android.support.v4.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="com.gpl.rpg.AndorsTrail.fileprovider"
|
android:authorities="com.gpl.rpg.AndorsTrail.fileprovider"
|
||||||
android:grantUriPermissions="true"
|
android:grantUriPermissions="true"
|
||||||
android:exported="false">
|
android:exported="false">
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.gpl.rpg.AndorsTrail.activity;
|
package com.gpl.rpg.AndorsTrail.activity;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.gpl.rpg.AndorsTrail.activity;
|
|||||||
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentTabHost;
|
import androidx.fragment.app.FragmentTabHost;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.gpl.rpg.AndorsTrail.activity;
|
|||||||
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentTabHost;
|
import androidx.fragment.app.FragmentTabHost;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ import android.content.pm.PackageManager;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.drawable.AnimationDrawable;
|
import android.graphics.drawable.AnimationDrawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
|
import androidx.fragment.app.FragmentManager.OnBackStackChangedListener;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewTreeObserver;
|
import android.view.ViewTreeObserver;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.util.Arrays;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import java.util.Map;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.util.ArrayList;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.util.ArrayList;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import java.util.HashSet;
|
|||||||
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import android.content.SharedPreferences.Editor;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.gpl.rpg.AndorsTrail.activity.fragment;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.gpl.rpg.AndorsTrail.controller;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
import android.util.SparseIntArray;
|
import android.util.SparseIntArray;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -98,28 +99,36 @@ public final class InputController implements OnClickListener, OnLongClickListen
|
|||||||
|
|
||||||
// Keys mapping to UP_LEFT
|
// Keys mapping to UP_LEFT
|
||||||
key = KEY_MOVE_UP_LEFT;
|
key = KEY_MOVE_UP_LEFT;
|
||||||
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_LEFT, key);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_LEFT, key);
|
||||||
|
}
|
||||||
keyMap.put(KeyEvent.KEYCODE_NUMPAD_7, key);
|
keyMap.put(KeyEvent.KEYCODE_NUMPAD_7, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_7, key);
|
keyMap.put(KeyEvent.KEYCODE_7, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_MOVE_HOME, key);
|
keyMap.put(KeyEvent.KEYCODE_MOVE_HOME, key);
|
||||||
|
|
||||||
// Keys mapping to UP_RIGHT
|
// Keys mapping to UP_RIGHT
|
||||||
key = KEY_MOVE_UP_RIGHT;
|
key = KEY_MOVE_UP_RIGHT;
|
||||||
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_RIGHT, key);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_RIGHT, key);
|
||||||
|
}
|
||||||
keyMap.put(KeyEvent.KEYCODE_NUMPAD_9, key);
|
keyMap.put(KeyEvent.KEYCODE_NUMPAD_9, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_9, key);
|
keyMap.put(KeyEvent.KEYCODE_9, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_PAGE_UP, key);
|
keyMap.put(KeyEvent.KEYCODE_PAGE_UP, key);
|
||||||
|
|
||||||
// Keys mapping to DOWN_LEFT
|
// Keys mapping to DOWN_LEFT
|
||||||
key = KEY_MOVE_DOWN_LEFT;
|
key = KEY_MOVE_DOWN_LEFT;
|
||||||
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_LEFT, key);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_LEFT, key);
|
||||||
|
}
|
||||||
keyMap.put(KeyEvent.KEYCODE_NUMPAD_1, key);
|
keyMap.put(KeyEvent.KEYCODE_NUMPAD_1, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_1, key);
|
keyMap.put(KeyEvent.KEYCODE_1, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_MOVE_END, key);
|
keyMap.put(KeyEvent.KEYCODE_MOVE_END, key);
|
||||||
|
|
||||||
// Keys mapping to DOWN_RIGHT
|
// Keys mapping to DOWN_RIGHT
|
||||||
key = KEY_MOVE_DOWN_RIGHT;
|
key = KEY_MOVE_DOWN_RIGHT;
|
||||||
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_RIGHT, key);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_RIGHT, key);
|
||||||
|
}
|
||||||
keyMap.put(KeyEvent.KEYCODE_NUMPAD_3, key);
|
keyMap.put(KeyEvent.KEYCODE_NUMPAD_3, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_3, key);
|
keyMap.put(KeyEvent.KEYCODE_3, key);
|
||||||
keyMap.put(KeyEvent.KEYCODE_PAGE_DOWN, key);
|
keyMap.put(KeyEvent.KEYCODE_PAGE_DOWN, key);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import com.gpl.rpg.AndorsTrail.model.actor.MonsterType;
|
|||||||
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
||||||
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
||||||
import com.gpl.rpg.AndorsTrail.model.quest.Quest;
|
import com.gpl.rpg.AndorsTrail.model.quest.Quest;
|
||||||
|
import com.gpl.rpg.AndorsTrail.util.HashMapHelper;
|
||||||
|
|
||||||
public final class GameStatistics {
|
public final class GameStatistics {
|
||||||
private int deaths = 0;
|
private int deaths = 0;
|
||||||
@@ -36,10 +37,10 @@ public final class GameStatistics {
|
|||||||
|
|
||||||
public void addMonsterKill(MonsterType monsterType) {
|
public void addMonsterKill(MonsterType monsterType) {
|
||||||
// Track monster kills by type ID, for savegame file
|
// Track monster kills by type ID, for savegame file
|
||||||
killedMonstersByTypeID.put(monsterType.id, killedMonstersByTypeID.getOrDefault((monsterType.id), 0) + 1);
|
killedMonstersByTypeID.put(monsterType.id, getNumberOfKillsForMonsterType(monsterType.id) + 1);
|
||||||
|
|
||||||
// Also track by name, for statistics display (multiple IDs w/same name don't matter to player)
|
// Also track by name, for statistics display (multiple IDs w/same name don't matter to player)
|
||||||
killedMonstersByName.put(monsterType.name, killedMonstersByName.getOrDefault(monsterType.name, 0) + 1);
|
killedMonstersByName.put(monsterType.name, getNumberOfKillsForMonsterName(monsterType.name) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addPlayerDeath(int lostExp) {
|
public void addPlayerDeath(int lostExp) {
|
||||||
@@ -50,8 +51,7 @@ public final class GameStatistics {
|
|||||||
}
|
}
|
||||||
public void addItemUsage(ItemType type) {
|
public void addItemUsage(ItemType type) {
|
||||||
final String n = type.id;
|
final String n = type.id;
|
||||||
if (!usedItems.containsKey(n)) usedItems.put(n, 1);
|
usedItems.put(n, HashMapHelper.getOrDefault(usedItems, n,0) + 1);
|
||||||
else usedItems.put(n, usedItems.get(n) + 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDeaths() {
|
public int getDeaths() {
|
||||||
@@ -73,15 +73,11 @@ public final class GameStatistics {
|
|||||||
public boolean isDead() { return !hasUnlimitedLives() && getLivesLeft() < 1; }
|
public boolean isDead() { return !hasUnlimitedLives() && getLivesLeft() < 1; }
|
||||||
|
|
||||||
public int getNumberOfKillsForMonsterType(String monsterTypeID) {
|
public int getNumberOfKillsForMonsterType(String monsterTypeID) {
|
||||||
Integer v = killedMonstersByTypeID.get(monsterTypeID);
|
return HashMapHelper.getOrDefault(killedMonstersByTypeID, monsterTypeID, 0);
|
||||||
if (v == null) return 0;
|
|
||||||
return v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNumberOfKillsForMonsterName(String monsterName) {
|
public int getNumberOfKillsForMonsterName(String monsterName) {
|
||||||
Integer v = killedMonstersByName.get(monsterName);
|
return HashMapHelper.getOrDefault(killedMonstersByName, monsterName, 0);
|
||||||
if (v == null) return 0;
|
|
||||||
return v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTop5MostCommonlyKilledMonsters(WorldContext world, Resources res) {
|
public String getTop5MostCommonlyKilledMonsters(WorldContext world, Resources res) {
|
||||||
@@ -144,20 +140,15 @@ public final class GameStatistics {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getNumberOfUsedItems() {
|
public int getNumberOfUsedItems() {
|
||||||
int result = 0;
|
return HashMapHelper.sumIntegerValues(usedItems);
|
||||||
for (int v : usedItems.values()) result += v;
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNumberOfTimesItemHasBeenUsed(String itemId) {
|
public int getNumberOfTimesItemHasBeenUsed(String itemId) {
|
||||||
if (!usedItems.containsKey(itemId)) return 0;
|
return HashMapHelper.getOrDefault(usedItems, itemId, 0);
|
||||||
return usedItems.get(itemId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNumberOfKilledMonsters() {
|
public int getNumberOfKilledMonsters() {
|
||||||
int result = 0;
|
return HashMapHelper.sumIntegerValues(killedMonstersByTypeID);
|
||||||
for (int v : killedMonstersByTypeID.values()) result += v;
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Comparator<Entry<String, Integer>> descendingValueComparator = new Comparator<Entry<String, Integer>>() {
|
private static final Comparator<Entry<String, Integer>> descendingValueComparator = new Comparator<Entry<String, Integer>>() {
|
||||||
@@ -186,7 +177,7 @@ public final class GameStatistics {
|
|||||||
// Also track by name, for statistics display (multiple IDs w/same name don't matter to player)
|
// Also track by name, for statistics display (multiple IDs w/same name don't matter to player)
|
||||||
MonsterType t = world.monsterTypes.getMonsterType(id);
|
MonsterType t = world.monsterTypes.getMonsterType(id);
|
||||||
|
|
||||||
if (t != null) killedMonstersByName.put(t.name, killedMonstersByName.getOrDefault(t.name, 0) + value);
|
if (t != null) killedMonstersByName.put(t.name, getNumberOfKillsForMonsterName(t.name) + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fileversion <= 17) return;
|
if (fileversion <= 17) return;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import android.content.Context;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.support.v4.content.FileProvider;
|
import androidx.core.content.FileProvider;
|
||||||
|
|
||||||
import com.gpl.rpg.AndorsTrail.controller.Constants;
|
import com.gpl.rpg.AndorsTrail.controller.Constants;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.gpl.rpg.AndorsTrail.util;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public final class HashMapHelper {
|
||||||
|
public static <K,V> V getOrDefault(HashMap<K,V> map, K key, V defaultValue) {
|
||||||
|
V v = map.get(key);
|
||||||
|
return v == null ? defaultValue : v;
|
||||||
|
}
|
||||||
|
public static <K> Integer sumIntegerValues(HashMap<K,Integer> map) {
|
||||||
|
int sum = 0;
|
||||||
|
for (Integer v : map.values()) sum += v;
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
2
AndorsTrail/gradle.properties
Normal file
2
AndorsTrail/gradle.properties
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
android.enableJetifier=true
|
||||||
|
android.useAndroidX=true
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
## This file must *NOT* be checked into Version Control Systems,
|
|
||||||
# as it contains information specific to your local configuration.
|
|
||||||
#
|
|
||||||
# Location of the SDK. This is only used by Gradle.
|
|
||||||
#
|
|
||||||
#Sun Sep 25 12:50:59 CEST 2022
|
|
||||||
sdk.dir=C\:\\Users\\chris\\AppData\\Local\\Android\\Sdk
|
|
||||||
Reference in New Issue
Block a user