Message appears when playershape is unlocked
Superpower-countdown now calculated with timer.frametime -> superpower-countdown is now paused when the game is paused
This commit is contained in:
@ -15,10 +15,10 @@ public enum PlayerShape {
|
||||
BALL(R.string.playershape_name_ball, R.string.playershape_description_ball,
|
||||
R.drawable.playershapes_ball, new EmptyTask()),
|
||||
CLOCK(R.string.playershape_name_clock, R.string.playershape_description_clock,
|
||||
R.drawable.playershapes_clock, new CollectStarTask(15)),
|
||||
R.drawable.playershapes_clock, new CollectStarTask(1)),//15
|
||||
HYPNO_SPIRAL(R.string.playershape_name_hypno_spiral,
|
||||
R.string.playershape_description_hypno_spiral, R.drawable.playershapes_hypno_spiral,
|
||||
new CollectEnergyTask(3)),
|
||||
new CollectEnergyTask(1)),//3
|
||||
PACMAN(R.string.playershape_name_pacman, R.string.playershape_description_pacman,
|
||||
R.drawable.playershapes_pacman, new CompleteWorldTask(1)),
|
||||
SMILEY(R.string.playershape_name_smiley, R.string.playershape_description_smiley,
|
||||
|
@ -19,8 +19,7 @@ public class PowerMushroom extends Tool {
|
||||
|
||||
@Override
|
||||
public void onPlayerCollision(Player player, Timer timer) {
|
||||
player.startSuperPower(timer.getCurrentTime(),
|
||||
(long) ToolType.POWER_MUSHROOM.getCurrentUpgradeValue(ToolUpgradeType.DURATION));
|
||||
player.startSuperPower((long) ToolType.POWER_MUSHROOM.getCurrentUpgradeValue(ToolUpgradeType.DURATION));
|
||||
super.destroy(DestroyEffect.ENERGY_COLLECT);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,98 @@
|
||||
package de.frajul.endlessroll.views;
|
||||
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import de.frajul.endlessroll.R;
|
||||
import de.frajul.endlessroll.entities.Player;
|
||||
import de.frajul.endlessroll.entities.shapes.PlayerShape;
|
||||
import de.frajul.endlessroll.main.GameActivity;
|
||||
import de.frajul.endlessroll.main.GameLog;
|
||||
import de.frajul.endlessroll.main.game.Game;
|
||||
import de.frajul.endlessroll.main.screens.Screen;
|
||||
|
||||
/**
|
||||
* Created by Julian on 15.07.2016.
|
||||
*/
|
||||
public class TaskCompletedMessage implements View.OnClickListener, BountyMessage.ScreenSwitchCaller {
|
||||
|
||||
private GameActivity gameActivity;
|
||||
private FrameLayout layout;
|
||||
|
||||
private TextView textView;
|
||||
private LinearLayout messagesLayout;
|
||||
|
||||
private List<PlayerShape> unlockedShapes = new ArrayList<>();
|
||||
|
||||
public TaskCompletedMessage(GameActivity gameActivity) {
|
||||
this.gameActivity = gameActivity;
|
||||
|
||||
Typeface typeface = gameActivity.getTypeface();
|
||||
LayoutInflater inflater = LayoutInflater.from(gameActivity);
|
||||
layout = (FrameLayout) inflater.inflate(R.layout.task_completed_message, null);
|
||||
layout.setOnClickListener(this);
|
||||
layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT));
|
||||
layout.setVisibility(View.GONE);
|
||||
textView = (TextView) layout.findViewById(R.id.task_completed_text);
|
||||
textView.setTypeface(typeface);
|
||||
messagesLayout = (LinearLayout) layout.findViewById(R.id.task_completed_unlock_list);
|
||||
}
|
||||
|
||||
public void show(List<PlayerShape> shapes) {
|
||||
unlockedShapes.clear();
|
||||
unlockedShapes.addAll(shapes);
|
||||
showNextShape();
|
||||
}
|
||||
|
||||
private void showNextShape() {
|
||||
messagesLayout.removeAllViews();
|
||||
PlayerShape shape = unlockedShapes.remove(0);
|
||||
|
||||
textView.setText(
|
||||
shape.getUnlockTask().toString(gameActivity, gameActivity.getLevelManager()));
|
||||
BountyMessage message = createBountyMessage(shape);
|
||||
messagesLayout.addView(message.getLayout());
|
||||
|
||||
layout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
private BountyMessage createBountyMessage(PlayerShape shape) {
|
||||
return new BountyMessage(gameActivity, BountyMessage.MessageType.SHAPE_UNLOCKED, null, this,
|
||||
shape.getDrawableId());
|
||||
}
|
||||
|
||||
private void hide() {
|
||||
layout.setVisibility(View.GONE);
|
||||
messagesLayout.removeAllViews();
|
||||
}
|
||||
|
||||
public FrameLayout getLayout() {
|
||||
return layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (unlockedShapes.isEmpty())
|
||||
hide();
|
||||
else
|
||||
showNextShape();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void switchScreen(Screen.ScreenType screenType) {
|
||||
gameActivity.flipToScreen(screenType);
|
||||
hide();
|
||||
}
|
||||
}
|
55
app/src/main/res/layout/task_completed_message.xml
Normal file
55
app/src/main/res/layout/task_completed_message.xml
Normal file
@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/backgrounds_menu_levelup">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/task_completed"
|
||||
android:textColor="#ffae00"
|
||||
android:textSize="60sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="-10dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_completed_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/placeholder_textview"
|
||||
android:textColor="#ffe100"
|
||||
android:textSize="50sp"
|
||||
android:textStyle="bold"/>
|
||||
|
||||
|
||||
<ImageView
|
||||
android:layout_width="400dp"
|
||||
android:layout_height="10dp"
|
||||
android:id="@+id/imageView"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/guis_splitter"
|
||||
android:layout_marginTop="10dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/task_completed_unlock_list"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="0dp">
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
@ -12,6 +12,7 @@
|
||||
<string name="game_fps_placeholder">Fps: 00</string>
|
||||
<string name="game_fps_format_d">Fps: %d</string>
|
||||
<string name="game_countdown_placeholder">3</string>
|
||||
<string name="task_completed">Task completed</string>
|
||||
<string name="levelup">Level Up</string>
|
||||
<string name="message_game_over">GAME OVER</string>
|
||||
<string name="message_win">YOU DID IT</string>
|
||||
@ -39,6 +40,7 @@
|
||||
<string name="bounty_message_resource_format_s">%s</string>
|
||||
<string name="bounty_message_tool_format_s">%s unlocked!</string>
|
||||
<string name="bounty_message_tool_slot">You unlocked a Toolslot</string>
|
||||
<string name="bounty_message_shape_unlocked">New shape unlocked</string>
|
||||
<string name="level_button_format_d">Level: %d</string>
|
||||
<string name="price_button_buy">Buy</string>
|
||||
<string name="price_button_upgrade">Upgrade</string>
|
||||
|
Reference in New Issue
Block a user