diff --git a/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java b/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
index f115fc9..8823043 100644
--- a/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
+++ b/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
@@ -547,11 +547,11 @@ public final class R {
public static final int time = 0x7f0800a6;
public static final int title = 0x7f0800a7;
public static final int title_template = 0x7f0800a8;
- public static final int topPanel = 0x7f0800c0;
- public static final int up = 0x7f0800d2;
- public static final int useLogo = 0x7f0800d3;
- public static final int withText = 0x7f0800d4;
- public static final int wrap_content = 0x7f0800dd;
+ public static final int topPanel = 0x7f0800b9;
+ public static final int up = 0x7f0800cb;
+ public static final int useLogo = 0x7f0800cc;
+ public static final int withText = 0x7f0800cd;
+ public static final int wrap_content = 0x7f0800d6;
}
public static final class integer {
public static final int abc_config_activityDefaultDur = 0x7f090000;
diff --git a/app/build/intermediates/incremental/mergeDebugResources/merger.xml b/app/build/intermediates/incremental/mergeDebugResources/merger.xml
index 8ba3007..4ebda3e 100644
--- a/app/build/intermediates/incremental/mergeDebugResources/merger.xml
+++ b/app/build/intermediates/incremental/mergeDebugResources/merger.xml
@@ -1346,7 +1346,7 @@
- ?android:attr/actionMenuTextAppearance
- @drawable/abc_control_background_material
- "Điều hướng về trang chủ""%1$s, %2$s""%1$s, %2$s, %3$s""Điều hướng lên trên""Thêm tùy chọn""Xong""Xem tất cả""Chọn một ứng dụng""TẮT""BẬT""Tìm kiếm…""Xóa truy vấn""Tìm kiếm truy vấn""Tìm kiếm""Gửi truy vấn""Tìm kiếm bằng giọng nói""Chia sẻ với""Chia sẻ với %s""Thu gọn""999+"3truetrue4192dip5falsefalse- 60%
- 90%
- 50%
- 70%
- 45%
- 72%
192dip5256dip"转到主屏幕""%1$s:%2$s""%1$s - %2$s:%3$s""转到上一层级""更多选项""完成""查看全部""选择应用""关闭""开启""搜索…""清除查询""搜索查询""搜索""提交查询""语音搜索""分享方式""通过%s分享""收起""999+""瀏覽主頁""%1$s:%2$s""%1$s (%2$s):%3$s""向上瀏覽""更多選項""完成""顯示全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""分享對象""與「%s」分享""收合""999 +""瀏覽首頁""%1$s:%2$s""%1$s - %2$s:%3$s""向上瀏覽""更多選項""完成""查看全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""選擇分享對象""與「%s」分享""收合""999+""Zulazulela ekhaya""%1$s, %2$s""%1$s, %2$s, %3$s""Zulazulela phezulu""Izinketho eziningi""Kwenziwe""Buka konke""Khetha uhlelo lokusebenza""VALIWE""VULIWE""Iyasesha...""Sula inkinga""Umbuzo wosesho""Sesha""Hambisa umbuzo""Ukusesha ngezwi""Yabelana no-""Yabelana no-%s""Goqa""999+"
+ "Điều hướng về trang chủ""%1$s, %2$s""%1$s, %2$s, %3$s""Điều hướng lên trên""Thêm tùy chọn""Xong""Xem tất cả""Chọn một ứng dụng""TẮT""BẬT""Tìm kiếm…""Xóa truy vấn""Tìm kiếm truy vấn""Tìm kiếm""Gửi truy vấn""Tìm kiếm bằng giọng nói""Chia sẻ với""Chia sẻ với %s""Thu gọn""999+"3truetrue4192dip5falsefalse- 60%
- 90%
- 50%
- 70%
- 45%
- 72%
192dip5256dip"转到主屏幕""%1$s:%2$s""%1$s - %2$s:%3$s""转到上一层级""更多选项""完成""查看全部""选择应用""关闭""开启""搜索…""清除查询""搜索查询""搜索""提交查询""语音搜索""分享方式""通过%s分享""收起""999+""瀏覽主頁""%1$s:%2$s""%1$s (%2$s):%3$s""向上瀏覽""更多選項""完成""顯示全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""分享對象""與「%s」分享""收合""999 +""瀏覽首頁""%1$s:%2$s""%1$s - %2$s:%3$s""向上瀏覽""更多選項""完成""查看全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""選擇分享對象""與「%s」分享""收合""999+""Zulazulela ekhaya""%1$s, %2$s""%1$s, %2$s, %3$s""Zulazulela phezulu""Izinketho eziningi""Kwenziwe""Buka konke""Khetha uhlelo lokusebenza""VALIWE""VULIWE""Iyasesha...""Sula inkinga""Umbuzo wosesho""Sesha""Hambisa umbuzo""Ukusesha ngezwi""Yabelana no-""Yabelana no-%s""Goqa""999+"
- World zer0
- Grasslands
- Icy Mountains
diff --git a/app/build/intermediates/manifests/full/debug/AndroidManifest.xml b/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
index 0ae04a6..827a3e7 100644
--- a/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
+++ b/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
@@ -18,7 +18,6 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
- android:testOnly="true"
android:theme="@style/AppTheme" >
= ANIMATION_TIME) {
+ reset();
+ }
+ float progress = elapsedTime / ANIMATION_TIME;
+ super.setAlpha(0.5f - 0.5f * progress);
+ float scaleFactor = 1 + 2 * progress;
+ super.setWidth(scaleFactor * startWidth);
+ super.setHeight(scaleFactor * startHeight);
+ }
+ }
+
+ public void reset() {
+ animationRunning = false;
+ elapsedTime = 0;
+ super.setVisible(false);
+ super.setAlpha(0.5f);
+ super.setWidth(startWidth);
+ super.setHeight(startHeight);
+ }
+
+}
diff --git a/app/src/main/java/de/frajul/endlessroll/entities/guis/ToolButtonBar.java b/app/src/main/java/de/frajul/endlessroll/entities/guis/ToolButtonBar.java
index e92d6f1..e70bde9 100644
--- a/app/src/main/java/de/frajul/endlessroll/entities/guis/ToolButtonBar.java
+++ b/app/src/main/java/de/frajul/endlessroll/entities/guis/ToolButtonBar.java
@@ -5,9 +5,9 @@ import java.util.List;
import de.frajul.endlessroll.data.Vector;
import de.frajul.endlessroll.entities.textures.TexturePack;
+import de.frajul.endlessroll.entities.tools.ToolType;
import de.frajul.endlessroll.main.game.Game;
import de.frajul.endlessroll.user.ToolSlotSettings;
-import de.frajul.endlessroll.views.ToolButtonView;
public class ToolButtonBar {
@@ -32,9 +32,9 @@ public class ToolButtonBar {
}
}
- public void update(float frameTime) {
+ public void update(float frameTime, boolean gameRunning) {
for (ToolButton button : toolButtons)
- button.update(frameTime);
+ button.update(frameTime, gameRunning);
}
public void changeToolButtonTypes(ToolSlotSettings toolSlotSettings) {
@@ -45,20 +45,28 @@ public class ToolButtonBar {
public void reset(ToolSlotSettings toolSlotSettings) {
changeToolButtonTypes(toolSlotSettings);
- for (int i = 0; i < 4; i++) {
- if (toolSlotSettings.get(i).getToolType() != null) {
- toolButtons.get(i).setActive(true);
- toolButtons.get(i).updateBorderColor();
- break;
- }
+
+ boolean activeButtonAlreadySet = false;
+ for (ToolButton toolButton : toolButtons) {
+ if (!activeButtonAlreadySet && toolButton.getToolType() != null) {
+ toolButton.setActive(true);
+ activeButtonAlreadySet = true;
+ } else
+ toolButton.setActive(false);
+ toolButton.updateBorderColor();
+ toolButton.setProgress(1);
+ toolButton.getAnimationLayer().reset();
}
- for (ToolButton button : toolButtons)
- button.setProgress(1);
}
- public ToolButton getActiveButton(){
- for(ToolButton button : toolButtons)
- if(button.getActive().get())
+ public void setActive(ToolType activeType) {
+ for (ToolButton button : toolButtons)
+ button.setActive(button.getToolType() == activeType);
+ }
+
+ public ToolButton getActiveButton() {
+ for (ToolButton button : toolButtons)
+ if (button.getActive().get())
return button;
return null;
}
@@ -69,7 +77,12 @@ public class ToolButtonBar {
list.add(button.getBorder());
list.add(button.getBackground());
list.add(button.getProgressbar());
+ list.add(button.getAnimationLayer());
}
return list;
}
+
+ public List getToolButtons() {
+ return toolButtons;
+ }
}
diff --git a/app/src/main/java/de/frajul/endlessroll/main/game/Game.java b/app/src/main/java/de/frajul/endlessroll/main/game/Game.java
index c1bdb33..f286ea8 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/game/Game.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/game/Game.java
@@ -12,7 +12,9 @@ import de.frajul.endlessroll.entities.Obstacle;
import de.frajul.endlessroll.entities.Player;
import de.frajul.endlessroll.entities.collectables.Energy;
import de.frajul.endlessroll.entities.collectables.Star;
+import de.frajul.endlessroll.entities.collision.CollisionDetector;
import de.frajul.endlessroll.entities.collision.CollisionManager;
+import de.frajul.endlessroll.entities.guis.Countdown;
import de.frajul.endlessroll.entities.guis.ToolButton;
import de.frajul.endlessroll.entities.guis.ToolButtonBar;
import de.frajul.endlessroll.entities.particles.Firework;
@@ -31,9 +33,6 @@ import de.frajul.endlessroll.main.screens.GameScreen;
import de.frajul.endlessroll.main.screens.Screen;
import de.frajul.endlessroll.rendering.Rendering;
import de.frajul.endlessroll.sqlDatabase.MyDatabase;
-import de.frajul.endlessroll.entities.guis.Countdown;
-import de.frajul.endlessroll.views.ToolButtonView;
-import de.frajul.endlessroll.views.ToolButtonBarView;
import de.frajul.endlessroll.views.ViewManager;
/**
@@ -54,6 +53,7 @@ public class Game extends Rendering {
private Player player;
private Physics physics;
private CollisionManager collisionManager;
+ private CollisionDetector collisionDetector;
private Timer timer;
private GameState gameState = GameState.COUNTDOWN;
@@ -67,6 +67,7 @@ public class Game extends Rendering {
this.gameActivity = gameActivity;
physics = new Physics();
collisionManager = new CollisionManager(this);
+ collisionDetector = new CollisionDetector();
particleSystem = new ParticleSystem(getContext());
viewManager = new ViewManager(this, gameScreen, handler, gameActivity);
}
@@ -80,7 +81,8 @@ public class Game extends Rendering {
scene = new GameScene(gameActivity, texturePack, particleSystem);
firework = new Firework(particleSystem.firework, scene.getCamera());
countdown = new Countdown(this, gameActivity.getSoundManager(), texturePack);
- toolButtonBar = new ToolButtonBar(texturePack, this, gameActivity.getUser().getToolSlotSettings());
+ toolButtonBar = new ToolButtonBar(texturePack, this,
+ gameActivity.getUser().getToolSlotSettings());
scene.getGuis().addAll(toolButtonBar.toGuiList());
scene.getGuis().add(countdown);
if (level != null)
@@ -144,10 +146,9 @@ public class Game extends Rendering {
float playerProgress = player.getProgress();
viewManager.update(gameState == GameState.RUNNING, timer, playerProgress);
+ toolButtonBar.update(timer.getFrameTimeSeconds(), gameState == GameState.RUNNING);
switch (gameState) {
case RUNNING:
- toolButtonBar.update(timer.getFrameTimeSeconds());
-
if (player.getPosition().y < -2f) {
onGameOver(false);
return;
@@ -175,38 +176,47 @@ public class Game extends Rendering {
@Override
public boolean onTouch(View v, MotionEvent event) {
- if (gameState == GameState.RUNNING) {
- ToolButton currentToolButton = toolButtonBar.getActiveButton();
- if (currentToolButton != null && currentToolButton.hasFinishedLoading() && currentToolButton.getToolType() != null) {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ try {
+ if (gameState == GameState.RUNNING && event.getAction() == MotionEvent.ACTION_DOWN) {
+ Vector touchPoint = scene.calcWorldFromScreenCoords(event.getX(), event.getY());
+
+ for (ToolButton toolButton : toolButtonBar.getToolButtons()) {
+ ToolType toolType = toolButton.getToolType();
+ if (collisionDetector.isPointQuadCollision(touchPoint,
+ toolButton.getBorder()) && toolType != null) {
+ toolButtonBar.setActive(toolType);
+ setCurrentTool(toolType, toolButton.hasFinishedLoading());
+ return true;
+ }
+ }
+ touchPoint.translate(scene.camera.getX(), scene.camera.getY());
+ ToolButton currentToolButton = toolButtonBar.getActiveButton();
+ if (currentToolButton != null && currentToolButton
+ .hasFinishedLoading() && currentToolButton.getToolType() != null) {
if (currentTool == ToolType.BOMB) {
- try {
- Vector touchPoint = scene
- .calcWorldFromScreenCoords(event.getX(), event.getY());
- Obstacle selectedObstacle = scene.getObstacleAtPoint(touchPoint);
- if (selectedObstacle == null) {
- viewManager.showBombErrorMessage(event.getX(), event.getY());
- return true;
- } else {
- currentToolButton.setProgress(0);
- scene.getBombSelected().set(false);
- Tool tool = addTool(event.getX(), event.getY());
- if (tool != null && tool instanceof Bomb)
- ((Bomb) tool).setAttachedObstacle(selectedObstacle);
- return true;
- }
- } catch (Exception e) {
- onException(e);
+ Obstacle selectedObstacle = scene.getObstacleAtPoint(touchPoint);
+ if (selectedObstacle == null) {
+ viewManager.showBombErrorMessage(event.getX(), event.getY());
+ return true;
+ } else {
+ currentToolButton.setProgress(0);
+ scene.getBombSelected().set(false);
+ Tool tool = addTool(touchPoint);
+ if (tool != null && tool instanceof Bomb)
+ ((Bomb) tool).setAttachedObstacle(selectedObstacle);
return true;
}
}
currentToolButton.setProgress(0);
- addTool(event.getX(), event.getY());
+ addTool(touchPoint);
+ return true;
}
}
- return true;
+ return false;
+ } catch (Exception e) {
+ onException(e);
+ return false;
}
- return false;
}
public void resetViews() {
@@ -271,10 +281,10 @@ public class Game extends Rendering {
gameState = GameState.RUNNING;
}
- private Tool addTool(float x, float y) {
+ private Tool addTool(Vector position) {
try {
gameActivity.getSoundManager().playSound(gameActivity.getSoundManager().placeToolSound);
- return scene.addTool(currentTool, x, y, physics);
+ return scene.addTool(currentTool, position, physics);
} catch (Exception e) {
onException(e);
}
diff --git a/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java b/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java
index bd367f2..07a0053 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java
@@ -81,8 +81,7 @@ public class GameScene extends Scene {
obstacles.add(obstacle);
}
- public Tool addTool(ToolType type, float screenX, float screenY, Physics physics) throws Exception {
- Vector position = calcWorldFromScreenCoords(screenX, screenY);
+ public Tool addTool(ToolType type, Vector position, Physics physics) throws Exception {
Tool tool = type.newInstance(position, particleSystem, gameActivity.getSoundManager());
physics.checkSingleToolCollision(tool, this);
diff --git a/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java b/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java
index 6968cc9..465afb4 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java
@@ -156,9 +156,7 @@ public abstract class Scene {
throw new Exception("ScreenSize not set");
float glCoordWidth = (2f * screenSize.x / screenSize.y);
float x = ((screenX / screenSize.x) * 2f - 1f) * glCoordWidth / 2;
- x += camera.getX();
float y = -((screenY / screenSize.y) * 2f - 1f);
- y += camera.getY();
return new Vector(x, y);
}
diff --git a/app/src/main/java/de/frajul/endlessroll/rendering/renderer/GameRenderer.java b/app/src/main/java/de/frajul/endlessroll/rendering/renderer/GameRenderer.java
index d36315e..f8db0fb 100644
--- a/app/src/main/java/de/frajul/endlessroll/rendering/renderer/GameRenderer.java
+++ b/app/src/main/java/de/frajul/endlessroll/rendering/renderer/GameRenderer.java
@@ -150,6 +150,7 @@ public class GameRenderer implements GLSurfaceView.Renderer {
gl.glBindTexture(GL10.GL_TEXTURE_2D, gui.getTexture().getId());
guiShader.loadTransformationMatrix(matrixCreator, gui);
guiShader.loadCustomColor(gui.getColor());
+ guiShader.loadAlpha(gui.getAlpha());
guiShader.loadRoundValue(gui.getRoundValue());
if (gui instanceof Progressbar)
guiShader.loadVisibleAmount(((Progressbar) gui).getProgress());
diff --git a/app/src/main/java/de/frajul/endlessroll/rendering/shader/GuiShader.java b/app/src/main/java/de/frajul/endlessroll/rendering/shader/GuiShader.java
index cf78a23..56222e1 100644
--- a/app/src/main/java/de/frajul/endlessroll/rendering/shader/GuiShader.java
+++ b/app/src/main/java/de/frajul/endlessroll/rendering/shader/GuiShader.java
@@ -16,6 +16,7 @@ public class GuiShader extends ShaderProgram {
private int location_transformationMatrix;
private int location_useCustomColor;
private int location_color;
+ private int location_alpha;
private int location_roundValue;
private int location_visibleAmount;
@@ -29,6 +30,7 @@ public class GuiShader extends ShaderProgram {
location_transformationMatrix = super.getUniformLocation("transformationMatrix");
location_useCustomColor = super.getUniformLocation("useCustomColor");
location_color = super.getUniformLocation("color");
+ location_alpha = super.getUniformLocation("alpha");
location_roundValue = super.getUniformLocation("roundValue");
location_visibleAmount = super.getUniformLocation("visibleAmount");
}
@@ -50,6 +52,10 @@ public class GuiShader extends ShaderProgram {
color.getA());
}
+ public void loadAlpha(float alpha){
+ GLES20.glUniform1f(location_alpha, alpha);
+ }
+
public void loadRoundValue(float roundValue) {
GLES20.glUniform1f(location_roundValue, roundValue);
}
diff --git a/app/src/main/java/de/frajul/endlessroll/views/ToolButtonBarView.java b/app/src/main/java/de/frajul/endlessroll/views/ToolButtonBarView.java
deleted file mode 100644
index 4b1bdea..0000000
--- a/app/src/main/java/de/frajul/endlessroll/views/ToolButtonBarView.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package de.frajul.endlessroll.views;
-
-import android.content.Context;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import de.frajul.endlessroll.R;
-import de.frajul.endlessroll.entities.tools.ToolType;
-import de.frajul.endlessroll.main.game.Game;
-import de.frajul.endlessroll.main.game.GameState;
-import de.frajul.endlessroll.user.ToolSlotSettings;
-
-/**
- * Created by Julian on 16.01.2016.
- */
-public class ToolButtonBarView implements View.OnClickListener{
-
- private Game game;
- private List buttons = new ArrayList<>(4);
- private RelativeLayout button1;
- private RelativeLayout button2;
- private RelativeLayout button3;
- private RelativeLayout button4;
-
-
- public ToolButtonBarView(Game game, ToolSlotSettings toolSlotSettings, LinearLayout layout1) {
- this.game = game;
- Context context = game.getContext();
-
- button1 = (RelativeLayout) layout1.findViewById(R.id.toolbutton_1);
- button1.setOnClickListener(this);
- button2 = (RelativeLayout) layout1.findViewById(R.id.toolbutton_2);
- button2.setOnClickListener(this);
- button3 = (RelativeLayout) layout1.findViewById(R.id.toolbutton_3);
- button3.setOnClickListener(this);
- button4 = (RelativeLayout) layout1.findViewById(R.id.toolbutton_4);
- button4.setOnClickListener(this);
- buttons.add(new ToolButtonView(toolSlotSettings.get(0), game, context, button1));
- buttons.add(new ToolButtonView(toolSlotSettings.get(1), game, context, button2));
- buttons.add(new ToolButtonView(toolSlotSettings.get(2), game, context, button3));
- buttons.add(new ToolButtonView(toolSlotSettings.get(3), game, context, button4));
- }
-
- public void changeToolButtonTypes(ToolSlotSettings toolSlotSettings) {
- for (int i = 0; i < 4; i++) {
- buttons.get(i).changeToolSlot(toolSlotSettings.get(i));
- }
- }
-
- public void reset(ToolSlotSettings toolSlotSettings) {
- changeToolButtonTypes(toolSlotSettings);
- for (int i = 0; i < 4; i++) {
- if (toolSlotSettings.get(i).getToolType() != null) {
- setActive(i);
- break;
- }
- }
- for (ToolButtonView button : buttons)
- button.setProgress(100);
- }
-
- public void update(float frameTime, boolean showAnimation) {
- for (ToolButtonView button : buttons)
- button.update(frameTime, showAnimation);
- }
-
- public void setActive(ToolType activeType) {
- for (ToolButtonView button : buttons)
- button.setActive(button.getToolType() == activeType);
- }
-
- private void setActive(int index) {
- for (ToolButtonView button : buttons)
- button.setActive(buttons.indexOf(button) == index);
- }
-
- public ToolButtonView getByToolType(ToolType type) {
- for (ToolButtonView button : buttons)
- if (button.getToolType() == type)
- return button;
- return null;
- }
-
- public ToolButtonView getActiveButton() {
- for (ToolButtonView button : buttons)
- if (button.isActive())
- return button;
- return null;
- }
-
- @Override
- public void onClick(View v) {
- if (game.getGameState() == GameState.RUNNING) {
- ToolButtonView clickedButton = null;
- if (v.equals(button1) && !buttons.get(0).isLocked()) {
- clickedButton = buttons.get(0);
- } else if (v.equals(button2) && !buttons.get(1).isLocked()) {
- clickedButton = buttons.get(1);
- } else if (v.equals(button3) && !buttons.get(2).isLocked()) {
- clickedButton = buttons.get(2);
- } else if (v.equals(button4) && !buttons.get(3).isLocked()) {
- clickedButton = buttons.get(3);
- }
- if (clickedButton != null && clickedButton.getToolType() != null) {
- game.setCurrentTool(clickedButton.getToolType(), clickedButton.finishedLoading());
- setActive(clickedButton.getToolType());
- }
- }
- }
-}
diff --git a/app/src/main/java/de/frajul/endlessroll/views/ToolButtonView.java b/app/src/main/java/de/frajul/endlessroll/views/ToolButtonView.java
deleted file mode 100644
index 3f49c40..0000000
--- a/app/src/main/java/de/frajul/endlessroll/views/ToolButtonView.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package de.frajul.endlessroll.views;
-
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
-import android.view.animation.Animation;
-import android.view.animation.AnimationUtils;
-import android.widget.ImageView;
-import android.widget.ProgressBar;
-import android.widget.RelativeLayout;
-
-import de.frajul.endlessroll.R;
-import de.frajul.endlessroll.entities.tools.ToolSlot;
-import de.frajul.endlessroll.entities.tools.ToolType;
-import de.frajul.endlessroll.entities.tools.ToolUpgradeType;
-import de.frajul.endlessroll.main.game.Game;
-
-/**
- * Created by Julian on 15.01.2016.
- */
-public class ToolButtonView {
-
- private Game game;
- private boolean locked;
- private ToolType toolType;
- private Context context;
- private float progress = 100;
- private boolean active = false;
-
- private RelativeLayout layout;
- private ProgressBar progressBar;
- private ImageView backgroundView;
- private ImageView animationView;
- private Animation scaleAnimation;
-
- public ToolButtonView(ToolSlot slot, Game game, Context context, RelativeLayout layout) {
- this.context = context;
- this.game = game;
- this.layout = layout;
- progressBar = (ProgressBar) layout.findViewById(R.id.tool_button_progress_bar);
-
- scaleAnimation = AnimationUtils.loadAnimation(context, R.anim.scale_up);
- changeToolSlot(slot);
- }
-
- public void changeToolSlot(ToolSlot toolSlot) {
- this.toolType = toolSlot.getToolType();
- this.locked = toolSlot.isLocked();
- backgroundView = createImageView(toolType, R.id.tool_button_background_layer);
- animationView = createImageView(toolType, R.id.tool_button_animation_layer);
- }
-
- private ImageView createImageView(ToolType type, int id) {
- ImageView view = (ImageView) layout.findViewById(id);
- if (locked)
- view.setImageResource(R.drawable.tools_button_locked);
- else if (type != null)
- view.setImageResource(type.getButtonDrawable());
- else
- view.setImageResource(R.drawable.tools_button_empty);
- view.setBackgroundDrawable(createColoredBackground());
- return view;
- }
-
- private Drawable createColoredBackground() {
- GradientDrawable gd = new GradientDrawable();
- gd.setColor(context.getResources().getColor(R.color.toolbuttonInactiveNotReady));
- if (locked || toolType == null) {
- gd.setColor(context.getResources().getColor(R.color.toolbuttonLocked));
- }
- gd.setCornerRadius(15);
- return gd;
- }
-
- public void update(float frameTime, boolean showAnimation) {
- if (progress != 100) {
- progress += (frameTime) / (toolType
- .getCurrentUpgradeValue(ToolUpgradeType.COOLDOWN) / 100);
- progress = Math.min(progress, 100);
- if (progress == 100 && showAnimation)
- animationView.startAnimation(scaleAnimation);
- }
- progressBar.setProgress(100 - (int) progress);
- if (!locked && toolType != null) {
- if (active) {
- if (progress == 100) {
- game.onToolButtonFinishedLoading(toolType);
- setColor(R.color.toolbuttonActiveReady);
- } else
- setColor(R.color.toolbuttonActiveNotReady);
- } else {
- if (progress == 100)
- setColor(R.color.toolbuttonInactiveReady);
- else
- setColor(R.color.toolbuttonInactiveNotReady);
- }
- }
- }
-
- private void setColor(int id) {
- GradientDrawable gd = (GradientDrawable) backgroundView.getBackground();
- GradientDrawable animGd = (GradientDrawable) animationView.getBackground();
- gd.setColor(context.getResources().getColor(id));
- animGd.setColor(context.getResources().getColor(id));
- }
-
- public void setActive(boolean active) {
- this.active = active;
- }
-
- public boolean isActive() {
- return active;
- }
-
- public void setProgress(int progress) {
- this.progress = progress;
- }
-
- public boolean finishedLoading() {
- return progress == 100;
- }
-
- public ToolType getToolType() {
- return toolType;
- }
-
- public boolean isLocked() {
- return locked;
- }
-}
diff --git a/app/src/main/res/drawable/xml_layers_toolprogressbar.xml b/app/src/main/res/drawable/xml_layers_toolprogressbar.xml
deleted file mode 100644
index c0318d1..0000000
--- a/app/src/main/res/drawable/xml_layers_toolprogressbar.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/game.xml b/app/src/main/res/layout/game.xml
index fbb9a3c..4cafba7 100644
--- a/app/src/main/res/layout/game.xml
+++ b/app/src/main/res/layout/game.xml
@@ -14,15 +14,6 @@
android:layout_margin="10dp"
android:src="@drawable/guis_pausebutton"/>
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/toolbutton.xml b/app/src/main/res/layout/toolbutton.xml
deleted file mode 100644
index 5a5ebb1..0000000
--- a/app/src/main/res/layout/toolbutton.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/toolbuttonbar.xml b/app/src/main/res/layout/toolbuttonbar.xml
deleted file mode 100644
index 1282cb5..0000000
--- a/app/src/main/res/layout/toolbuttonbar.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file