First implementation of Shape shop

This commit is contained in:
= 2017-10-22 18:48:00 +02:00
parent 33275f9046
commit 757c13c31c
52 changed files with 2237 additions and 1788 deletions

View File

@ -9,8 +9,8 @@ android {
applicationId 'de.frajul.endlessroll'
minSdkVersion 12
targetSdkVersion 23
versionCode 2
versionName '1.0'
versionCode 3
versionName '0.3.1'
}
buildTypes {
release {

View File

@ -456,7 +456,7 @@ public final class R {
public static final int abc_textfield_search_activated_mtrl_alpha = 0x7f020042;
public static final int abc_textfield_search_default_mtrl_alpha = 0x7f020043;
public static final int abc_textfield_search_material = 0x7f020044;
public static final int notification_template_icon_bg = 0x7f020091;
public static final int notification_template_icon_bg = 0x7f020092;
}
public static final class id {
public static final int action0 = 0x7f0e006c;
@ -597,7 +597,7 @@ public final class R {
public static final int select_dialog_item_material = 0x7f040029;
public static final int select_dialog_multichoice_material = 0x7f04002a;
public static final int select_dialog_singlechoice_material = 0x7f04002b;
public static final int support_simple_spinner_dropdown_item = 0x7f04002f;
public static final int support_simple_spinner_dropdown_item = 0x7f040031;
}
public static final class string {
public static final int abc_action_bar_home_description = 0x7f070000;

View File

@ -637,34 +637,34 @@
<obstacleData floating="true" moving="false" deadly="false" leftEdge="13.700025" rightEdge="14.400025" height="0.3" y="-0.39333323">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.750364" rightEdge="13.056364" height="0.293" y="0.7799998">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.637027" rightEdge="12.943027" height="0.293" y="0.8466664">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="11.745692" rightEdge="12.127692" height="0.318" y="0.50666654">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="11.585686" rightEdge="11.967686" height="0.318" y="0.58666646">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.248859" rightEdge="13.4778595" height="0.268" y="0.693333">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.128856" rightEdge="13.357856" height="0.268" y="0.75999963">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.559376" rightEdge="13.967375" height="0.242" y="0.34666654">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.506041" rightEdge="13.91404" height="0.242" y="0.45333314">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.174693" rightEdge="14.378694" height="0.28" y="0.22666667">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.101356" rightEdge="14.305356" height="0.28" y="0.23333333">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.083701" rightEdge="14.389701" height="0.28" y="0.6533332">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.083701" rightEdge="14.389701" height="0.28" y="0.65999985">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.643702" rightEdge="13.949701" height="0.344" y="0.7866666">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.650369" rightEdge="13.956368" height="0.344" y="0.8466665">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.344684" rightEdge="12.548684" height="0.382" y="0.7533331">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.198009" rightEdge="12.402009" height="0.382" y="0.84666634">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.568863" rightEdge="14.797863" height="0.204" y="0.37999982">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.522194" rightEdge="14.751194" height="0.204" y="0.39333314">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.922533" rightEdge="15.177532" height="0.42" y="0.14000005">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.922533" rightEdge="15.177532" height="0.42" y="0.106666714">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="true" leftEdge="20.66682" rightEdge="21.09982" height="0.293" y="-0.45350003">

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -44,7 +44,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: square
spawnShape: square
- Spawn Width -
lowMin: 200.0
lowMax: 200.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,10 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\anim\\scale_up.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\anim\\scale_up.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\anim\\shape_button_rotation.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\anim\\shape_button_rotation.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\anim\\decrease.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\anim\\decrease.xml"

View File

@ -31,22 +31,22 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_btn_borderless_material.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_btn_borderless_material.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_arrow_green.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_arrow_green.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_list_selector_holo_dark.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_list_selector_holo_dark.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tutorial_to_toolshop.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tutorial_to_toolshop.png"
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_arrow_green.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_arrow_green.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tutorial_place_ramp_obstacle.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tutorial_place_ramp_obstacle.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tutorial_to_toolshop.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tutorial_to_toolshop.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_magnet_button.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_magnet_button.png"
@ -84,16 +84,16 @@
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_selector_settingsbutton.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_shape_shop_enabled.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_shape_shop_enabled.png"
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_item_background_holo_light.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_item_background_holo_light.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tutorial_toolshop_equip_spring.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tutorial_toolshop_equip_spring.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_item_background_holo_light.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_item_background_holo_light.xml"
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_shape_shop_enabled.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_shape_shop_enabled.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\currency_star_empty.png",
@ -151,14 +151,14 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\currency_energy.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\currency_energy.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_lock_locked.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_lock_locked.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_background_worldbutton.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_background_worldbutton.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_lock_locked.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_lock_locked.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\currency_star.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\currency_star.png"
@ -171,10 +171,6 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\backgrounds_menu_shortmenu.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\backgrounds_menu_shortmenu.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_selector_shopbutton.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_selector_shopbutton.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_bomb.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_bomb.png"
@ -271,6 +267,10 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_background_toolupgrade.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_background_toolupgrade.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_selector_toolshopbutton.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_selector_toolshopbutton.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_power_mushroom.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_power_mushroom.png"
@ -367,6 +367,10 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_sound_off.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_sound_off.png"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_selector_shapeshopbutton.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_selector_shapeshopbutton.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_button_locked.png",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_button_locked.png"

View File

@ -3,22 +3,22 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\levels.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\levels.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\tutorial.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\tutorial.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\toolshop.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\toolshop.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\worlds.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\worlds.xml"
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\tutorial.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\tutorial.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\abc_screen_simple_overlay_action_mode.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\layout\\abc_screen_simple_overlay_action_mode.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\worlds.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\worlds.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\abc_screen_simple.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\layout\\abc_screen_simple.xml"
@ -51,6 +51,10 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\game.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\game.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\shape_shop.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\shape_shop.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\toolbuttonbar.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\toolbuttonbar.xml"
@ -103,6 +107,10 @@
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\abc_expanded_menu_layout.xml",
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\layout\\abc_expanded_menu_layout.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\shape_button.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\shape_button.xml"
},
{
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\unlock_message.xml",
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\unlock_message.xml"

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.frajul.endlessroll"
android:versionCode="2"
android:versionName="1.0" >
android:versionCode="3"
android:versionName="0.3.1" >
<uses-sdk
android:minSdkVersion="12"

View File

@ -75,9 +75,8 @@
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toLeftOf="@+id/topbar_toolshop"
android:layout_toStartOf="@+id/topbar_toolshop"
android:layout_marginRight="5dp"
android:layout_alignParentEnd="true"
android:background="@drawable/xml_selector_settingsbutton"/>
<Button
@ -85,10 +84,20 @@
style="@style/GameButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:background="@drawable/xml_selector_shopbutton"/>
android:layout_toLeftOf="@+id/topbar_settings"
android:layout_marginRight="10dp"
android:background="@drawable/xml_selector_toolshopbutton"/>
<Button
android:id="@+id/topbar_shapeshop"
style="@style/GameButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_toLeftOf="@+id/topbar_toolshop"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/xml_selector_shapeshopbutton"/>
<TextView
android:id="@+id/topbar_starcount_decrease"

View File

@ -254,6 +254,11 @@
<string name="message_win">YOU DID IT</string>
<string name="number_placeholder">997.5</string>
<string name="percent_placeholder">85.1%</string>
<string name="playershape_name_ball">Ball</string>
<string name="playershape_name_clock">Clock</string>
<string name="playershape_name_hypno_spiral">Hypno</string>
<string name="playershape_name_pacman">Pacman</string>
<string name="playershape_name_smiley">Smiley</string>
<string name="pre_start_screen_loading">LOADING...</string>
<string name="price_button_buy">Buy</string>
<string name="price_button_upgrade">Upgrade</string>

View File

@ -15,10 +15,11 @@ int anim fade_out 0x7f05000d
int anim pulse 0x7f05000e
int anim rotate 0x7f05000f
int anim scale_up 0x7f050010
int anim shrink 0x7f050011
int anim slide_in_left 0x7f050012
int anim slide_in_right 0x7f050013
int anim slide_in_top 0x7f050014
int anim shape_button_rotation 0x7f050011
int anim shrink 0x7f050012
int anim slide_in_left 0x7f050013
int anim slide_in_right 0x7f050014
int anim slide_in_top 0x7f050015
int array world_names 0x7f0c0000
int attr actionBarDivider 0x7f010063
int attr actionBarItemBackground 0x7f010064
@ -496,7 +497,7 @@ int drawable guis_splitter 0x7f020060
int drawable guis_tick 0x7f020061
int drawable guis_tool_shop_disabled 0x7f020062
int drawable guis_tool_shop_enabled 0x7f020063
int drawable notification_template_icon_bg 0x7f020091
int drawable notification_template_icon_bg 0x7f020092
int drawable obstacles_grass 0x7f020064
int drawable playershapes_ball 0x7f020065
int drawable playershapes_clock 0x7f020066
@ -540,8 +541,9 @@ int drawable xml_layers_toolprogressbar 0x7f02008b
int drawable xml_selector_gamebutton 0x7f02008c
int drawable xml_selector_pricebutton 0x7f02008d
int drawable xml_selector_settingsbutton 0x7f02008e
int drawable xml_selector_shopbutton 0x7f02008f
int drawable xml_selector_shapeshopbutton 0x7f02008f
int drawable xml_selector_sound 0x7f020090
int drawable xml_selector_toolshopbutton 0x7f020091
int id action0 0x7f0e006c
int id action_bar 0x7f0e0041
int id action_bar_activity_content 0x7f0e0000
@ -592,14 +594,14 @@ int id icon 0x7f0e0029
int id ifRoom 0x7f0e001d
int id image 0x7f0e0026
int id imageView 0x7f0e0065
int id imageView4 0x7f0e00bd
int id imageView4 0x7f0e00c3
int id info 0x7f0e0077
int id levelbutton_energy 0x7f0e005c
int id levelbutton_lock 0x7f0e005d
int id levelbutton_star1 0x7f0e0059
int id levelbutton_star2 0x7f0e005a
int id levelbutton_star3 0x7f0e005b
int id levelbutton_starView 0x7f0e00ba
int id levelbutton_starView 0x7f0e00c0
int id levelbutton_textview 0x7f0e0058
int id levels_bottomRow 0x7f0e0061
int id levels_topRow 0x7f0e0060
@ -611,8 +613,8 @@ int id levelup_unlocklist 0x7f0e0066
int id line1 0x7f0e0071
int id line3 0x7f0e0075
int id linearLayout 0x7f0e0079
int id linearLayout3 0x7f0e008a
int id linearLayout4 0x7f0e00a0
int id linearLayout3 0x7f0e008f
int id linearLayout4 0x7f0e00a5
int id listMode 0x7f0e0009
int id list_item 0x7f0e0028
int id media_actions 0x7f0e006f
@ -651,11 +653,16 @@ int id select_dialog_listview 0x7f0e004f
int id settings_reset 0x7f0e007f
int id settings_soundtoggle 0x7f0e007e
int id settings_topbar 0x7f0e007d
int id shape_button_button 0x7f0e0081
int id shape_button_textview 0x7f0e0080
int id shape_shop_bottomRow 0x7f0e0084
int id shape_shop_topRow 0x7f0e0083
int id shape_shop_topbar 0x7f0e0082
int id shortcut 0x7f0e003a
int id shortmenu_continue 0x7f0e0081
int id shortmenu_exit 0x7f0e0083
int id shortmenu_restart 0x7f0e0082
int id shortmenu_topbar 0x7f0e0080
int id shortmenu_continue 0x7f0e0086
int id shortmenu_exit 0x7f0e0088
int id shortmenu_restart 0x7f0e0087
int id shortmenu_topbar 0x7f0e0085
int id showCustom 0x7f0e000f
int id showHome 0x7f0e0010
int id showTitle 0x7f0e0011
@ -664,11 +671,11 @@ int id split_action_bar 0x7f0e0007
int id src_atop 0x7f0e0015
int id src_in 0x7f0e0016
int id src_over 0x7f0e0017
int id startscreen_gain_90_ep 0x7f0e0087
int id startscreen_play 0x7f0e0085
int id startscreen_settings 0x7f0e0084
int id startscreen_to_gl_test_screen 0x7f0e0088
int id startscreen_unlock_levels 0x7f0e0086
int id startscreen_gain_90_ep 0x7f0e008c
int id startscreen_play 0x7f0e008a
int id startscreen_settings 0x7f0e0089
int id startscreen_to_gl_test_screen 0x7f0e008d
int id startscreen_unlock_levels 0x7f0e008b
int id status_bar_latest_event_content 0x7f0e006e
int id submit_area 0x7f0e004c
int id tabMode 0x7f0e000b
@ -678,62 +685,63 @@ int id textSpacerNoButtons 0x7f0e0034
int id time 0x7f0e0072
int id title 0x7f0e002a
int id title_template 0x7f0e002f
int id toolProgressBar 0x7f0e0099
int id toolProgressBarView 0x7f0e0097
int id toolProgressButtonAnimation 0x7f0e0098
int id tool_inspector_imageview 0x7f0e008b
int id tool_inspector_pricebutton 0x7f0e008c
int id tool_inspector_title 0x7f0e0089
int id tool_inspector_toolupgrade0 0x7f0e008d
int id tool_inspector_toolupgrade1 0x7f0e008e
int id tool_upgrade_imageview 0x7f0e0093
int id tool_upgrade_pricebutton 0x7f0e0096
int id tool_upgrade_title 0x7f0e0092
int id tool_upgrade_value_new 0x7f0e0095
int id tool_upgrade_value_old 0x7f0e0094
int id toolbutton_1 0x7f0e009a
int id toolbutton_2 0x7f0e009b
int id toolbutton_3 0x7f0e009c
int id toolbutton_4 0x7f0e009d
int id toolofferslot_slot 0x7f0e0090
int id toolofferslot_title 0x7f0e008f
int id toolshop_slot1 0x7f0e00a1
int id toolshop_slot2 0x7f0e00a2
int id toolshop_slot3 0x7f0e00a3
int id toolshop_slot4 0x7f0e00a4
int id toolshop_tool_offer_layout 0x7f0e00a5
int id toolshop_toolinspector 0x7f0e009f
int id toolshop_topbar 0x7f0e009e
int id toolslot_image 0x7f0e0091
int id toolProgressBar 0x7f0e009e
int id toolProgressBarView 0x7f0e009c
int id toolProgressButtonAnimation 0x7f0e009d
int id tool_inspector_imageview 0x7f0e0090
int id tool_inspector_pricebutton 0x7f0e0091
int id tool_inspector_title 0x7f0e008e
int id tool_inspector_toolupgrade0 0x7f0e0092
int id tool_inspector_toolupgrade1 0x7f0e0093
int id tool_upgrade_imageview 0x7f0e0098
int id tool_upgrade_pricebutton 0x7f0e009b
int id tool_upgrade_title 0x7f0e0097
int id tool_upgrade_value_new 0x7f0e009a
int id tool_upgrade_value_old 0x7f0e0099
int id toolbutton_1 0x7f0e009f
int id toolbutton_2 0x7f0e00a0
int id toolbutton_3 0x7f0e00a1
int id toolbutton_4 0x7f0e00a2
int id toolofferslot_slot 0x7f0e0095
int id toolofferslot_title 0x7f0e0094
int id toolshop_slot1 0x7f0e00a6
int id toolshop_slot2 0x7f0e00a7
int id toolshop_slot3 0x7f0e00a8
int id toolshop_slot4 0x7f0e00a9
int id toolshop_tool_offer_layout 0x7f0e00aa
int id toolshop_toolinspector 0x7f0e00a4
int id toolshop_topbar 0x7f0e00a3
int id toolslot_image 0x7f0e0096
int id topPanel 0x7f0e002e
int id topbar_energycount 0x7f0e00ad
int id topbar_energycount_decrease 0x7f0e00b1
int id topbar_energyview 0x7f0e00ab
int id topbar_layout 0x7f0e00a6
int id topbar_leveldisplay 0x7f0e00a8
int id topbar_levellayout 0x7f0e00a7
int id topbar_levelprogress 0x7f0e00a9
int id topbar_settings 0x7f0e00ae
int id topbar_starcount 0x7f0e00ac
int id topbar_starcount_decrease 0x7f0e00b0
int id topbar_starview 0x7f0e00aa
int id topbar_toolshop 0x7f0e00af
int id tutorial_image_view 0x7f0e00b3
int id tutorial_text_view 0x7f0e00b2
int id unlockmessage_message 0x7f0e00b5
int id unlockmessage_toolimage 0x7f0e00b4
int id topbar_energycount 0x7f0e00b2
int id topbar_energycount_decrease 0x7f0e00b7
int id topbar_energyview 0x7f0e00b0
int id topbar_layout 0x7f0e00ab
int id topbar_leveldisplay 0x7f0e00ad
int id topbar_levellayout 0x7f0e00ac
int id topbar_levelprogress 0x7f0e00ae
int id topbar_settings 0x7f0e00b3
int id topbar_shapeshop 0x7f0e00b5
int id topbar_starcount 0x7f0e00b1
int id topbar_starcount_decrease 0x7f0e00b6
int id topbar_starview 0x7f0e00af
int id topbar_toolshop 0x7f0e00b4
int id tutorial_image_view 0x7f0e00b9
int id tutorial_text_view 0x7f0e00b8
int id unlockmessage_message 0x7f0e00bb
int id unlockmessage_toolimage 0x7f0e00ba
int id up 0x7f0e0008
int id useLogo 0x7f0e0012
int id withText 0x7f0e001f
int id worldbutton_energycount 0x7f0e00bc
int id worldbutton_levelcount 0x7f0e00b9
int id worldbutton_lock 0x7f0e00be
int id worldbutton_preview 0x7f0e00b7
int id worldbutton_starcount 0x7f0e00bb
int id worldbutton_tickView 0x7f0e00b8
int id worldbutton_title 0x7f0e00b6
int id worlds_layout 0x7f0e00c0
int id worlds_topbar 0x7f0e00bf
int id worldbutton_energycount 0x7f0e00c2
int id worldbutton_levelcount 0x7f0e00bf
int id worldbutton_lock 0x7f0e00c4
int id worldbutton_preview 0x7f0e00bd
int id worldbutton_starcount 0x7f0e00c1
int id worldbutton_tickView 0x7f0e00be
int id worldbutton_title 0x7f0e00bc
int id worlds_layout 0x7f0e00c6
int id worlds_topbar 0x7f0e00c5
int id wrap_content 0x7f0e0020
int integer abc_config_activityDefaultDur 0x7f0b0001
int integer abc_config_activityShortDur 0x7f0b0002
@ -785,21 +793,23 @@ int layout select_dialog_item_material 0x7f040029
int layout select_dialog_multichoice_material 0x7f04002a
int layout select_dialog_singlechoice_material 0x7f04002b
int layout settings 0x7f04002c
int layout short_menu 0x7f04002d
int layout start_screen 0x7f04002e
int layout support_simple_spinner_dropdown_item 0x7f04002f
int layout tool_inspector 0x7f040030
int layout tool_offer_slot 0x7f040031
int layout tool_slot 0x7f040032
int layout tool_upgrade 0x7f040033
int layout toolbutton 0x7f040034
int layout toolbuttonbar 0x7f040035
int layout toolshop 0x7f040036
int layout topbar 0x7f040037
int layout tutorial 0x7f040038
int layout unlock_message 0x7f040039
int layout world_button 0x7f04003a
int layout worlds 0x7f04003b
int layout shape_button 0x7f04002d
int layout shape_shop 0x7f04002e
int layout short_menu 0x7f04002f
int layout start_screen 0x7f040030
int layout support_simple_spinner_dropdown_item 0x7f040031
int layout tool_inspector 0x7f040032
int layout tool_offer_slot 0x7f040033
int layout tool_slot 0x7f040034
int layout tool_upgrade 0x7f040035
int layout toolbutton 0x7f040036
int layout toolbuttonbar 0x7f040037
int layout toolshop 0x7f040038
int layout topbar 0x7f040039
int layout tutorial 0x7f04003a
int layout unlock_message 0x7f04003b
int layout world_button 0x7f04003c
int layout worlds 0x7f04003d
int mipmap ic_launcher 0x7f030000
int raw background 0x7f060000
int raw ramp 0x7f060001
@ -845,54 +855,59 @@ int string message_try_again 0x7f070027
int string message_win 0x7f070028
int string number_placeholder 0x7f070029
int string percent_placeholder 0x7f07002a
int string pre_start_screen_loading 0x7f07002b
int string price_button_buy 0x7f07002c
int string price_button_upgrade 0x7f07002d
int string settings_reset 0x7f07002e
int string short_menu_continue 0x7f07002f
int string short_menu_exit 0x7f070030
int string short_menu_restart 0x7f070031
int string start_screen_gain_90_ep 0x7f070032
int string start_screen_play 0x7f070033
int string start_screen_to_gl_test_screen 0x7f070034
int string start_screen_unlock_all_levels 0x7f070035
int string playershape_name_ball 0x7f07002b
int string playershape_name_clock 0x7f07002c
int string playershape_name_hypno_spiral 0x7f07002d
int string playershape_name_pacman 0x7f07002e
int string playershape_name_smiley 0x7f07002f
int string pre_start_screen_loading 0x7f070030
int string price_button_buy 0x7f070031
int string price_button_upgrade 0x7f070032
int string settings_reset 0x7f070033
int string short_menu_continue 0x7f070034
int string short_menu_exit 0x7f070035
int string short_menu_restart 0x7f070036
int string start_screen_gain_90_ep 0x7f070037
int string start_screen_play 0x7f070038
int string start_screen_to_gl_test_screen 0x7f070039
int string start_screen_unlock_all_levels 0x7f07003a
int string status_bar_notification_info_overflow 0x7f070013
int string textview_placeholder 0x7f070036
int string tool_name_bomb 0x7f070037
int string tool_name_magnet 0x7f070038
int string tool_name_power_mushroom 0x7f070039
int string tool_name_ramp 0x7f07003a
int string tool_name_spring 0x7f07003b
int string tool_name_unknown 0x7f07003c
int string tool_upgrade_force 0x7f07003d
int string tool_upgrade_none 0x7f07003e
int string tool_upgrade_radius 0x7f07003f
int string tool_upgrade_time 0x7f070040
int string tool_upgrade_title_format_sd 0x7f070041
int string tool_upgrade_title_placeholder 0x7f070042
int string tool_upgrade_value_max 0x7f070043
int string topbar_level_format_d 0x7f070044
int string topbar_level_placeholder 0x7f070045
int string topbar_toolshop 0x7f070046
int string tutorial_leveled_up 0x7f070047
int string tutorial_place_ramp_air 0x7f070048
int string tutorial_place_ramp_air_2 0x7f070049
int string tutorial_place_ramp_gap 0x7f07004a
int string tutorial_place_ramp_obstacle 0x7f07004b
int string tutorial_place_tools 0x7f07004c
int string tutorial_placeholder 0x7f07004d
int string tutorial_to_toolshop 0x7f07004e
int string tutorial_toolbar 0x7f07004f
int string tutorial_toolshop_all_tools 0x7f070050
int string tutorial_toolshop_equip_spring 0x7f070051
int string tutorial_toolshop_inspector 0x7f070052
int string tutorial_toolshop_select_buy_spring 0x7f070053
int string tutorial_toolshop_toolbar 0x7f070054
int string tutorial_toolshop_welcome 0x7f070055
int string tutorial_welcome 0x7f070056
int string unlock_message_placeholder 0x7f070057
int string world_button_progress_placeholder 0x7f070058
int string world_button_title_placeholder 0x7f070059
int string textview_placeholder 0x7f07003b
int string tool_name_bomb 0x7f07003c
int string tool_name_magnet 0x7f07003d
int string tool_name_power_mushroom 0x7f07003e
int string tool_name_ramp 0x7f07003f
int string tool_name_spring 0x7f070040
int string tool_name_unknown 0x7f070041
int string tool_upgrade_force 0x7f070042
int string tool_upgrade_none 0x7f070043
int string tool_upgrade_radius 0x7f070044
int string tool_upgrade_time 0x7f070045
int string tool_upgrade_title_format_sd 0x7f070046
int string tool_upgrade_title_placeholder 0x7f070047
int string tool_upgrade_value_max 0x7f070048
int string topbar_level_format_d 0x7f070049
int string topbar_level_placeholder 0x7f07004a
int string topbar_toolshop 0x7f07004b
int string tutorial_leveled_up 0x7f07004c
int string tutorial_place_ramp_air 0x7f07004d
int string tutorial_place_ramp_air_2 0x7f07004e
int string tutorial_place_ramp_gap 0x7f07004f
int string tutorial_place_ramp_obstacle 0x7f070050
int string tutorial_place_tools 0x7f070051
int string tutorial_placeholder 0x7f070052
int string tutorial_to_toolshop 0x7f070053
int string tutorial_toolbar 0x7f070054
int string tutorial_toolshop_all_tools 0x7f070055
int string tutorial_toolshop_equip_spring 0x7f070056
int string tutorial_toolshop_inspector 0x7f070057
int string tutorial_toolshop_select_buy_spring 0x7f070058
int string tutorial_toolshop_toolbar 0x7f070059
int string tutorial_toolshop_welcome 0x7f07005a
int string tutorial_welcome 0x7f07005b
int string unlock_message_placeholder 0x7f07005c
int string world_button_progress_placeholder 0x7f07005d
int string world_button_title_placeholder 0x7f07005e
int style AlertDialog_AppCompat 0x7f0a007d
int style AlertDialog_AppCompat_Light 0x7f0a007e
int style Animation_AppCompat_Dialog 0x7f0a007f

View File

@ -637,34 +637,34 @@
<obstacleData floating="true" moving="false" deadly="false" leftEdge="13.700025" rightEdge="14.400025" height="0.3" y="-0.39333323">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.750364" rightEdge="13.056364" height="0.293" y="0.7799998">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.637027" rightEdge="12.943027" height="0.293" y="0.8466664">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="11.745692" rightEdge="12.127692" height="0.318" y="0.50666654">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="11.585686" rightEdge="11.967686" height="0.318" y="0.58666646">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.248859" rightEdge="13.4778595" height="0.268" y="0.693333">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.128856" rightEdge="13.357856" height="0.268" y="0.75999963">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.559376" rightEdge="13.967375" height="0.242" y="0.34666654">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.506041" rightEdge="13.91404" height="0.242" y="0.45333314">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.174693" rightEdge="14.378694" height="0.28" y="0.22666667">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.101356" rightEdge="14.305356" height="0.28" y="0.23333333">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.083701" rightEdge="14.389701" height="0.28" y="0.6533332">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.083701" rightEdge="14.389701" height="0.28" y="0.65999985">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.643702" rightEdge="13.949701" height="0.344" y="0.7866666">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="13.650369" rightEdge="13.956368" height="0.344" y="0.8466665">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.344684" rightEdge="12.548684" height="0.382" y="0.7533331">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="12.198009" rightEdge="12.402009" height="0.382" y="0.84666634">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.568863" rightEdge="14.797863" height="0.204" y="0.37999982">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.522194" rightEdge="14.751194" height="0.204" y="0.39333314">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.922533" rightEdge="15.177532" height="0.42" y="0.14000005">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="14.922533" rightEdge="15.177532" height="0.42" y="0.106666714">
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="true" leftEdge="20.66682" rightEdge="21.09982" height="0.293" y="-0.45350003">

View File

@ -34,7 +34,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -44,7 +44,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: square
spawnShape: square
- Spawn Width -
lowMin: 200.0
lowMax: 200.0

View File

@ -46,7 +46,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -34,7 +34,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
spawnShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -0,0 +1,57 @@
package de.frajul.endlessroll.entities.shapes;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import de.frajul.endlessroll.R;
import de.frajul.endlessroll.entities.textures.Texture;
import de.frajul.endlessroll.entities.textures.TexturePack;
/**
* Created by Julian on 22.10.2017.
*/
public enum PlayerShape {
BALL(R.string.playershape_name_ball, R.drawable.playershapes_ball), CLOCK(R.string.playershape_name_clock,
R.drawable.playershapes_clock), HYPNO_SPIRAL(R.string.playershape_name_hypno_spiral,
R.drawable.playershapes_hypno_spiral), PACMAN(R.string.playershape_name_pacman,
R.drawable.playershapes_pacman), SMILEY(R.string.playershape_name_smiley,
R.drawable.playershapes_smiley);
@StringRes
private int nameId;
@DrawableRes
private int drawableId;
private Texture texture;
PlayerShape(@StringRes int nameId, @DrawableRes int drawableId) {
this.nameId = nameId;
this.drawableId = drawableId;
}
public static void loadAllTextures(TexturePack texturePack) {
for (PlayerShape playerShape : values())
playerShape.loadTexture(texturePack);
}
private void loadTexture(TexturePack texturePack) {
if (drawableId == -1)
return;
texture = texturePack.loadTexture(drawableId);
}
@StringRes
public int getNameId() {
return nameId;
}
@DrawableRes
public int getDrawableId() {
return drawableId;
}
public Texture getTexture() {
return texture;
}
}

View File

@ -0,0 +1,13 @@
package de.frajul.endlessroll.entities.shapes;
import de.frajul.endlessroll.views.PlayerShapeButton;
/**
* Created by Julian on 22.10.2017.
*/
public interface PlayerShapeButtonOnClickListener {
public void onClick(PlayerShapeButton button);
}

View File

@ -0,0 +1,70 @@
package de.frajul.endlessroll.main.screens;
import android.widget.LinearLayout;
import android.widget.TableRow;
import de.frajul.endlessroll.R;
import de.frajul.endlessroll.entities.shapes.PlayerShape;
import de.frajul.endlessroll.entities.shapes.PlayerShapeButtonOnClickListener;
import de.frajul.endlessroll.main.GameActivity;
import de.frajul.endlessroll.views.PlayerShapeButton;
import de.frajul.endlessroll.views.TopBar;
/**
* Created by Julian on 08.07.2016.
*/
public class PlayerShapeShopScreen extends Screen<LinearLayout> implements PlayerShapeButtonOnClickListener {
private PlayerShapeButton activeButton;
private TopBar topBar;
private TableRow topRow;
private TableRow bottomRow;
public PlayerShapeShopScreen(GameActivity gameActivity) {
super(ScreenType.SHAPE_SHOP, gameActivity, R.layout.shape_shop);
topBar = super.createTopBar(R.id.shape_shop_topbar);
topRow = (TableRow) layout.findViewById(R.id.shape_shop_topRow);
bottomRow = (TableRow) layout.findViewById(R.id.shape_shop_bottomRow);
}
private void createViews() {
topRow.removeAllViews();
bottomRow.removeAllViews();
int i = 0;
int totalShapes = PlayerShape.values().length;
for (PlayerShape playerShape : PlayerShape.values()) {
PlayerShapeButton button = new PlayerShapeButton(gameActivity, playerShape, this);
if (i < totalShapes / 2)
topRow.addView(button.getView());
else
bottomRow.addView(button.getView());
if (playerShape.equals(gameActivity.getUser().getCurrentPlayerShape())) {
this.activeButton = button;
button.startRotating();
}
i++;
}
}
@Override
public void prepareToBeShown() {
createViews();
topBar.update();
}
@Override
public void onBackKeyDown() {
flipToCaller();
}
@Override
public void onClick(PlayerShapeButton button) {
activeButton.stopRotating();
activeButton = button;
activeButton.startRotating();
gameActivity.getUser().setCurrentPlayerShape(button.getPlayerShape());
}
}

View File

@ -0,0 +1,63 @@
package de.frajul.endlessroll.views;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;
import de.frajul.endlessroll.R;
import de.frajul.endlessroll.entities.shapes.PlayerShape;
import de.frajul.endlessroll.entities.shapes.PlayerShapeButtonOnClickListener;
import de.frajul.endlessroll.main.GameLog;
/**
* Created by Julian on 22.10.2017.
*/
public class PlayerShapeButton implements View.OnClickListener {
private PlayerShape playerShape;
private PlayerShapeButtonOnClickListener clickListener;
private View view;
private TextView textView;
private Button button;
private Animation rotation;
public PlayerShapeButton(Context context, PlayerShape playerShape, PlayerShapeButtonOnClickListener clickListener) {
this.clickListener = clickListener;
this.playerShape = playerShape;
view = LayoutInflater.from(context).inflate(R.layout.shape_button, null);
textView = (TextView) view.findViewById(R.id.shape_button_textview);
textView.setText(playerShape.getNameId());
button = (Button) view.findViewById(R.id.shape_button_button);
button.setBackgroundDrawable(context.getResources().getDrawable(playerShape.getDrawableId()));
button.setOnClickListener(this);
rotation = AnimationUtils.loadAnimation(context, R.anim.shape_button_rotation);
}
public void startRotating() {
button.startAnimation(rotation);
}
public void stopRotating() {
button.clearAnimation();
}
@Override
public void onClick(View v) {
clickListener.onClick(this);
}
public View getView() {
return view;
}
public PlayerShape getPlayerShape() {
return playerShape;
}
}

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:repeatMode="restart"
android:interpolator="@android:anim/linear_interpolator">
<rotate
android:duration="2500"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:toDegrees="360" />
</set>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".main.GameActivity">
<item android:state_enabled="true">
<bitmap android:src="@drawable/guis_shape_shop_enabled"/>
</item>
<item android:state_enabled="false">
<bitmap android:src="@drawable/guis_shape_shop_disabled"/>
</item>
</selector>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".main.GameActivity">
<item android:state_enabled="true">
<bitmap android:src="@drawable/guis_shop_enabled"/>
<bitmap android:src="@drawable/guis_tool_shop_enabled"/>
</item>
<item android:state_enabled="false">
<bitmap android:src="@drawable/guis_shop_disabled"/>
<bitmap android:src="@drawable/guis_tool_shop_disabled"/>
</item>
</selector>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/shape_button_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/button_placeholder"
android:textSize="25sp"/>
<Button
android:id="@+id/shape_button_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/playershapes_ball"/>
</LinearLayout>

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/backgrounds_menu_grass"
android:orientation="vertical">
<include
android:id="@+id/shape_shop_topbar"
layout="@layout/topbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_marginBottom="5dp"/>
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*">
<TableRow
android:id="@+id/shape_shop_topRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<!--Will be removed before content is added. Just there because android 7.0 doesn't like empty tableRows ;-) -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:id="@+id/shape_shop_bottomRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<!--Will be removed before content is added. Just there because android 7.0 doesn't like empty tableRows ;-) -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>
</HorizontalScrollView>
</LinearLayout>

View File

@ -75,9 +75,8 @@
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toLeftOf="@+id/topbar_toolshop"
android:layout_toStartOf="@+id/topbar_toolshop"
android:layout_marginRight="5dp"
android:layout_alignParentEnd="true"
android:background="@drawable/xml_selector_settingsbutton"/>
<Button
@ -85,10 +84,20 @@
style="@style/GameButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:background="@drawable/xml_selector_shopbutton"/>
android:layout_toLeftOf="@+id/topbar_settings"
android:layout_marginRight="10dp"
android:background="@drawable/xml_selector_toolshopbutton"/>
<Button
android:id="@+id/topbar_shapeshop"
style="@style/GameButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_toLeftOf="@+id/topbar_toolshop"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/xml_selector_shapeshopbutton"/>
<TextView
android:id="@+id/topbar_starcount_decrease"

View File

@ -42,6 +42,12 @@
<string name="level_button_format_d">Level: %d</string>
<string name="price_button_buy">Buy</string>
<string name="price_button_upgrade">Upgrade</string>
<string name="playershape_name_ball">Ball</string>
<string name="playershape_name_clock">Clock</string>
<string name="playershape_name_hypno_spiral">Hypno</string>
<string name="playershape_name_pacman">Pacman</string>
<string name="playershape_name_smiley">Smiley</string>
<string name="tool_name_unknown">\?\?\?</string>
<string name="tool_name_ramp">Ramp</string>
<string name="tool_name_spring">Spring</string>

View File

@ -63,7 +63,7 @@ scaling0: 1.0
timelineCount: 1
timeline0: 0.0
- Spawn Shape -
shape: square
playerShape: square
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -36,7 +36,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -46,7 +46,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: square
playerShape: square
- Spawn Width -
lowMin: 200.0
lowMax: 200.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -53,7 +53,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -56,7 +56,7 @@ scaling0: 1.0
timelineCount: 1
timeline0: 0.0
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -34,7 +34,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: square
playerShape: square
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -34,7 +34,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -38,7 +38,7 @@ active: false
- Y Offset -
active: false
- Spawn Shape -
shape: point
playerShape: point
- Spawn Width -
lowMin: 0.0
lowMax: 0.0

View File

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:context=".main.GameActivity">
<item android:state_pressed="true" android:state_enabled="true">
<shape>
<playerShape>
<corners android:radius="20dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
<stroke android:width="1dp" android:color="#992f2f" />
<solid android:color="#ef4444" />
</shape>
</playerShape>
</item>
<item android:state_pressed="false" android:state_enabled="true">
<shape>
<playerShape>
<corners android:radius="20dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
<stroke android:width="1dp" android:color="#992f2f" />
<gradient android:angle="270" android:endColor="#992f2f" android:startColor="#ef4444" />
</shape>
</playerShape>
</item>
<item android:state_enabled="false">
<shape>
<playerShape>
<corners android:radius="20dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
<stroke android:width="1dp" android:color="#992f2f" />
<gradient android:angle="270" android:endColor="#a15d5d" android:startColor="#b73d3d" />
</shape>
</playerShape>
</item>
</selector>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<playerShape xmlns:android="http://schemas.android.com/apk/res/android"
android:playerShape="rectangle">
<corners android:radius="3dp" />
<solid
android:color="#715f5f"/>
@ -12,4 +12,4 @@
<stroke
android:width="2dp"
android:color="#635e5e" />
</shape>
</playerShape>

View File

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<playerShape android:playerShape="rectangle">
<solid android:color="#00fff700" />
<corners android:radius="200dp" />
</shape>
</playerShape>
</item>
<item android:id="@android:id/progress">
<clip android:gravity="right">
<shape android:shape="rectangle">
<playerShape android:playerShape="rectangle">
<gradient
android:angle="45"
android:endColor="#a06c6c6c"
android:startColor="#a0ababab" />
<corners android:radius="200dp" />
</shape>
</playerShape>
</clip>
</item>
</layer-list>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<playerShape xmlns:android="http://schemas.android.com/apk/res/android"
android:playerShape="rectangle">
<corners android:radius="30dp" />
<gradient
android:centerX="50%"
@ -17,4 +17,4 @@
<stroke
android:width="2dp"
android:color="#7826adbc" />
</shape>
</playerShape>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<playerShape xmlns:android="http://schemas.android.com/apk/res/android"
android:playerShape="rectangle">
<corners android:radius="20dp" />
<gradient
android:centerX="0%"
@ -17,4 +17,4 @@
<stroke
android:width="4dp"
android:color="#74ff71d0" />
</shape>
</playerShape>