diff --git a/MyApplication/dependencies.gradle b/MyApplication/dependencies.gradle
index 285699a..630a4ed 100644
--- a/MyApplication/dependencies.gradle
+++ b/MyApplication/dependencies.gradle
@@ -1,13 +1,13 @@
ext.versions = [
- androidGradlePlugin : '3.3.1',
+ androidGradlePlugin : '3.4.0',
gradleVersionsPlugin : '0.14.0',
buildTools : '25.0.2',
compileSdk : 25,
moxy : '1.5.1',
- butterKnife : '8.5.1',
+ butterKnife : '10.1.0',
supportLibs : '25.3.1',
supportConstraintLayout : '1.0.1',
diff --git a/app/build.gradle b/app/build.gradle
index 9e83604..8b49a75 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,6 +1,7 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
+ buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.npgames.insight"
minSdkVersion 16
@@ -53,4 +54,7 @@ dependencies {
implementation 'com.uncopt:android.justified:1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
+
+ //MaterialTapTargetPrompt
+ implementation 'uk.co.samuelwall:material-tap-target-prompt:2.14.0'
}
diff --git a/app/src/main/java/com/npgames/insight/ui/all/fragments/infoDialog/InfoDialog.java b/app/src/main/java/com/npgames/insight/ui/all/fragments/infoDialog/InfoDialog.java
new file mode 100644
index 0000000..d7ac829
--- /dev/null
+++ b/app/src/main/java/com/npgames/insight/ui/all/fragments/infoDialog/InfoDialog.java
@@ -0,0 +1,91 @@
+package com.npgames.insight.ui.all.fragments.infoDialog;
+
+import android.app.ActionBar;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.app.DialogFragment;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.npgames.insight.R;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class InfoDialog extends DialogFragment {
+ public static final String INFO_DIALOG_TAG = "INFO_DIALOG_TAG";
+ public static String MESSAGE = "MESSAGE";
+
+ @BindView(R.id.bottom_action_confirm_dialog_body_text_view)
+ protected TextView bodyTextView;
+ @BindView(R.id.bottom_action_confirm_dialog_deny_button_text_view)
+ protected TextView denyButtonTextView;
+
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT);
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull final LayoutInflater inflater,
+ @Nullable final ViewGroup container,
+ @Nullable final Bundle savedInstanceState) {
+ final View view = inflater.inflate(R.layout.fragment_info_dialog, container);
+ ButterKnife.bind(this, view);
+ return view;
+ }
+
+ @Override
+ public void onViewCreated(@NonNull final View view, @Nullable final Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ final String bodyText = getArguments().getString(MESSAGE);
+ bodyTextView.setText(bodyText);
+ denyButtonTextView.setOnTouchListener(denyButtonTouchListener);
+
+ getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ getDialog().setCancelable(false);
+ getDialog().setCanceledOnTouchOutside(false);
+ getDialog().setOnKeyListener((dialogInterface, i, keyEvent) -> {
+/* if (i == KeyEvent.KEYCODE_BACK) {
+ deathDialogListener.onClose();
+ }*/
+
+ return true;
+ });
+ }
+
+ private View.OnTouchListener denyButtonTouchListener = new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(final View view, final MotionEvent motionEvent) {
+ switch(motionEvent.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ final Drawable pressedDenyButton = getResources().getDrawable(R.drawable.confirm_dialog_button_active);
+ denyButtonTextView.setBackground(pressedDenyButton);
+ break;
+
+ case MotionEvent.ACTION_UP:
+ view.performClick();
+ dismiss();
+
+ case MotionEvent.ACTION_CANCEL:
+ final Drawable defaultDenyButton = getResources().getDrawable(R.drawable.confirm_dialog_button);
+ denyButtonTextView.setBackground(defaultDenyButton);
+
+ break;
+ }
+ return true;
+ }
+ };
+}
diff --git a/app/src/main/java/com/npgames/insight/ui/book/top_panel/StatsInfoDialog.java b/app/src/main/java/com/npgames/insight/ui/book/top_panel/StatsInfoDialog.java
new file mode 100644
index 0000000..e495810
--- /dev/null
+++ b/app/src/main/java/com/npgames/insight/ui/book/top_panel/StatsInfoDialog.java
@@ -0,0 +1,88 @@
+package com.npgames.insight.ui.book.top_panel;
+
+import android.app.ActionBar;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.constraint.ConstraintLayout;
+import android.support.constraint.ConstraintSet;
+import android.support.v4.app.DialogFragment;
+import android.support.v4.view.ViewCompat;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import com.npgames.insight.R;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class StatsInfoDialog extends DialogFragment {
+
+ public static final String STATS_INFO_DIALOG_TAG = "STATS_INFO_DIALOG_TAG";
+
+ @BindView(R.id.tip_dialog_root)
+ ConstraintLayout mConstraintLayout;
+
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
+ getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(final @NonNull LayoutInflater inflater, final @Nullable ViewGroup container,
+ final @Nullable Bundle savedInstanceState) {
+ final View statsInfoDialog = inflater.inflate(R.layout.fragment_tip_dialog, container);
+ ButterKnife.bind(this, statsInfoDialog);
+
+ final Window window = getDialog().getWindow();
+ WindowManager.LayoutParams windowParams = window.getAttributes();
+ windowParams.dimAmount = 0.0f;
+ window.setAttributes(windowParams);
+
+
+ final TextView textView = new TextView(getActivity());
+
+ ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(
+ ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+
+ textView.setId(ViewCompat.generateViewId());
+ textView.setLayoutParams(layoutParams);
+
+ Log.d("TestPish", "width "+getArguments().getInt("WIDTH"));
+ Log.d("TestPish", "height "+getArguments().getInt("HEIGHT"));
+
+ Log.d("TestPish", "X "+getArguments().getFloat("X"));
+ Log.d("TestPish", "Y "+getArguments().getFloat("Y"));
+/*
+ textView.setWidth(getArguments().getInt("WIDTH"));
+ textView.setHeight(getArguments().getInt("HEIGHT"));*/
+
+ textView.setLeft((int) getArguments().getFloat("X"));
+ textView.setTop((int) getArguments().getFloat("Y"));
+ textView.setTextAppearance(getContext(), R.style.D);
+ textView.setText(getArguments().getString("TEXT"));
+ textView.setTextSize(getArguments().getFloat("TEXT_SIZE"));
+
+ final ConstraintSet set = new ConstraintSet();
+ mConstraintLayout.addView(textView);
+ set.clone(mConstraintLayout);
+ set.connect(textView.getId(), ConstraintSet.TOP, mConstraintLayout.getId(), ConstraintSet.TOP, 0);
+ set.connect(textView.getId(), ConstraintSet.END, mConstraintLayout.getId(), ConstraintSet.END, 0);
+ set.applyTo(mConstraintLayout);
+
+ mConstraintLayout.invalidate();
+
+ return statsInfoDialog;
+ }
+}
diff --git a/app/src/main/java/com/npgames/insight/ui/book/top_panel/TipPromptBackground.java b/app/src/main/java/com/npgames/insight/ui/book/top_panel/TipPromptBackground.java
new file mode 100644
index 0000000..d2d0c2b
--- /dev/null
+++ b/app/src/main/java/com/npgames/insight/ui/book/top_panel/TipPromptBackground.java
@@ -0,0 +1,44 @@
+package com.npgames.insight.ui.book.top_panel;
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.support.annotation.NonNull;
+
+import uk.co.samuelwall.materialtaptargetprompt.extras.PromptOptions;
+import uk.co.samuelwall.materialtaptargetprompt.extras.backgrounds.FullscreenPromptBackground;
+
+public class TipPromptBackground extends FullscreenPromptBackground {
+
+ public TipPromptBackground() {
+
+ }
+
+ @Override
+ public void prepare(@NonNull PromptOptions options, boolean clipToBounds,
+ @NonNull Rect clipBounds) {
+ super.prepare(options, clipToBounds, clipBounds);
+
+
+ }
+
+ @Override
+ public void update(@NonNull PromptOptions prompt, float revealModifier, float alphaModifier) {
+ super.update(prompt, revealModifier, alphaModifier);
+ }
+
+ @Override
+ public void draw(@NonNull Canvas canvas) {
+ super.draw(canvas);
+
+ final RectF dimBounds = new RectF();
+ dimBounds.set(0, 0, getDisplayMetrics().widthPixels, getDisplayMetrics().heightPixels);
+
+ final Paint dimPaint = new Paint();
+ dimPaint.setColor(Color.BLACK);
+
+ canvas.drawRect(dimBounds, dimPaint);
+ }
+}
diff --git a/app/src/main/java/com/npgames/insight/ui/book/top_panel/TipPromptFocal.java b/app/src/main/java/com/npgames/insight/ui/book/top_panel/TipPromptFocal.java
new file mode 100644
index 0000000..9c6eab3
--- /dev/null
+++ b/app/src/main/java/com/npgames/insight/ui/book/top_panel/TipPromptFocal.java
@@ -0,0 +1,76 @@
+package com.npgames.insight.ui.book.top_panel;
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.RectF;
+import android.support.annotation.NonNull;
+import android.util.Log;
+import android.view.View;
+
+import uk.co.samuelwall.materialtaptargetprompt.extras.PromptFocal;
+import uk.co.samuelwall.materialtaptargetprompt.extras.PromptOptions;
+
+public class TipPromptFocal extends PromptFocal {
+ @Override
+ public void update(@NonNull PromptOptions options, float revealModifier, float alphaModifier) {
+
+ }
+
+ @Override
+ public void draw(final @NonNull Canvas canvas) {
+
+ final RectF dimBounds = new RectF();
+ dimBounds.set(left, top, left + width, top+height);
+
+ final Paint dimPaint = new Paint();
+ dimPaint.setColor(Color.RED);
+
+ canvas.drawRect(dimBounds, dimPaint);
+ }
+
+ @Override
+ public boolean contains(float x, float y) {
+ return false;
+ }
+
+ @Override
+ public void setColour(int colour) {
+
+ }
+
+ @NonNull
+ @Override
+ public RectF getBounds() {
+ return null;
+ }
+
+ private int width;
+ private int height;
+ private float left;
+ private float top;
+
+ @Override
+ public void prepare(final @NonNull PromptOptions options, final @NonNull View target,
+ final int[] promptViewPosition) {
+ Log.d("TestPish", "Ok counstructor");
+ width = target.getWidth();
+ height = target.getHeight();
+ left = target.getX();
+ top = target.getY();
+ }
+
+ @Override
+ public void prepare(@NonNull PromptOptions options, float targetX, float targetY) {
+ Log.d("TestPish", "NOT Ok constructor");
+
+ left = targetX;
+ top = targetY;
+
+ }
+
+ @Override
+ public void updateRipple(float revealModifier, float alphaModifier) {
+
+ }
+}
diff --git a/app/src/main/java/com/npgames/insight/ui/book/top_panel/TopPanelView.java b/app/src/main/java/com/npgames/insight/ui/book/top_panel/TopPanelView.java
index fb6a182..ddcbbdc 100644
--- a/app/src/main/java/com/npgames/insight/ui/book/top_panel/TopPanelView.java
+++ b/app/src/main/java/com/npgames/insight/ui/book/top_panel/TopPanelView.java
@@ -8,6 +8,7 @@
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
+import android.support.v4.app.FragmentActivity;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
@@ -21,10 +22,15 @@
import com.npgames.insight.R;
import com.npgames.insight.data.model.Stats;
+import com.npgames.insight.ui.all.fragments.infoDialog.InfoDialog;
+import com.npgames.insight.ui.book.bottom_new.actions.BottomActionConfirmDialog;
import butterknife.BindView;
import butterknife.ButterKnife;
+import static com.npgames.insight.ui.all.fragments.infoDialog.InfoDialog.MESSAGE;
+import static com.npgames.insight.ui.book.bottom_new.actions.BottomActionConfirmDialog.CONFIRMATION_TEXT;
+
public class TopPanelView extends FrameLayout implements View.OnClickListener {
@BindView(R.id.text_view_stats_panel_mem_bar)
protected TextView amnTextView;
@@ -41,6 +47,20 @@ public class TopPanelView extends FrameLayout implements View.OnClickListener {
@BindView(R.id.top_panel_menu_button_image_view)
protected ImageView menuButtonImageView;
+
+ @BindView(R.id.text_view_stats_panel_dex_title)
+ protected TextView dexTitleTextView;
+ @BindView(R.id.text_view_stats_panel_prc_title)
+ protected TextView prcTitleTextView;
+ @BindView(R.id.text_view_stats_panel_au_title)
+ protected TextView aurTitleTextView;
+ @BindView(R.id.text_view_stats_panel_hp_title)
+ protected TextView hpTitleTextView;
+ @BindView(R.id.text_view_stats_panel_time_title)
+ protected TextView timeTitleTextView;
+ @BindView(R.id.text_view_stats_panel_mem_title)
+ protected TextView amnTitleTextView;
+
private Animation inAnimation;
private Animation outAnimation;
@@ -125,9 +145,28 @@ private void init(final Context context, final AttributeSet attrs) {
final ViewGroup layout = (ViewGroup) LayoutInflater.from(context).inflate(R.layout.layout_stats_panel, this, true);
ButterKnife.bind(layout, this);
menuButtonImageView.setOnClickListener(this);
- }
+ amnTitleTextView.setOnClickListener(this);
+ amnTextView.setOnClickListener(this);
+
+ dexTitleTextView.setOnClickListener(this);
+ dexTextView.setOnClickListener(this);
+
+ timeTextView.setOnClickListener(this);
+ timeTitleTextView.setOnClickListener(this);
+ hpTitleTextView.setOnClickListener(this);
+ hpTextView.setOnClickListener(this);
+
+ prcTitleTextView.setOnClickListener(this);
+ prcTextView.setOnClickListener(this);
+
+ dexTitleTextView.setOnClickListener(this);
+ dexTextView.setOnClickListener(this);
+
+ aurTitleTextView.setOnClickListener(this);
+ aurTextView.setOnClickListener(this);
+ }
public void setStats(final Stats newStats) {
Log.d("TestPish", "updatePlayerStatsWithoutAnimation");
@@ -224,6 +263,89 @@ public void onClick(final View view) {
case R.id.top_panel_menu_button_image_view:
topPanelClickListener.topPanelOnMenuClick();
break;
+
+ case R.id.text_view_stats_panel_mem_bar:
+ case R.id.text_view_stats_panel_mem_title:
+ final InfoDialog memInfoDialog= new InfoDialog();
+ memInfoDialog.show(((FragmentActivity) getContext()).getSupportFragmentManager(), StatsInfoDialog.STATS_INFO_DIALOG_TAG);
+ final Bundle memBundle = new Bundle();
+ memBundle.putString(MESSAGE, getContext().getString(R.string.create_character_skill_info_amn));
+ memInfoDialog.setArguments(memBundle);
+ break;
+/*
+ new MaterialTapTargetPrompt.Builder((Activity) getContext())
+ .setTarget(R.id.text_view_stats_panel_mem_bar)
+ .setSecondaryText(R.string.test)
+ .setPromptBackground(new TipPromptBackground())
+ .show();
+*/
+
+
+
+/* final int width = amnTextView.getWidth();
+ final int height = amnTextView.getHeight();
+ final int left = amnTextView.getLeft();
+ final int top = amnTextView.getTop();
+ final int text = amnTextView.getText();*/
+
+/* final StatsInfoDialog statsInfoDialog = new StatsInfoDialog();
+ final Bundle bundle = new Bundle();
+ bundle.putInt("WIDTH", amnTextView.getWidth());
+ bundle.putInt("HEIGHT", amnTextView.getHeight());
+ bundle.putFloat("X", amnTextView.getX());
+ bundle.putFloat("Y", amnTextView.getY());
+ bundle.putString("TEXT", amnTextView.getText().toString());
+ bundle.putFloat("TEXT_SIZE", amnTextView.getTextSize());
+ statsInfoDialog.setArguments(bundle);
+ statsInfoDialog.show(((FragmentActivity)getContext()).getSupportFragmentManager(), StatsInfoDialog.STATS_INFO_DIALOG_TAG);
+
+ Log.d("TestPish", "clickPerformedTHIS");
+ break;*/
+
+ case R.id.image_view_stats_panel_time_bar:
+ case R.id.text_view_stats_panel_time_title:
+ final InfoDialog timeInfoDialog = new InfoDialog();
+ timeInfoDialog.show(((FragmentActivity) getContext()).getSupportFragmentManager(), InfoDialog.INFO_DIALOG_TAG);
+ final Bundle timeBundle = new Bundle();
+ timeBundle.putString(MESSAGE, getContext().getString(R.string.p501_t));
+ timeInfoDialog.setArguments(timeBundle);
+ break;
+
+ case R.id.image_view_stats_panel_hp_bar:
+ case R.id.text_view_stats_panel_hp_title:
+ final InfoDialog hpInfoDialog = new InfoDialog();
+ hpInfoDialog.show(((FragmentActivity) getContext()).getSupportFragmentManager(), InfoDialog.INFO_DIALOG_TAG);
+ final Bundle hpBundle = new Bundle();
+ hpBundle.putString(MESSAGE, getContext().getString(R.string.create_character_skill_info_hp));
+ hpInfoDialog.setArguments(hpBundle);
+ break;
+
+ case R.id.image_view_stats_panel_prc_bar:
+ case R.id.text_view_stats_panel_prc_title:
+ final InfoDialog prcInfoDialog = new InfoDialog();
+ prcInfoDialog.show(((FragmentActivity) getContext()).getSupportFragmentManager(), InfoDialog.INFO_DIALOG_TAG);
+ final Bundle prcBundle = new Bundle();
+ prcBundle.putString(MESSAGE, getContext().getString(R.string.create_character_skill_info_prc));
+ prcInfoDialog.setArguments(prcBundle);
+ break;
+
+ case R.id.image_view_stats_panel_dex_bar:
+ case R.id.text_view_stats_panel_dex_title:
+ final InfoDialog dexInfoDialog = new InfoDialog();
+ dexInfoDialog.show(((FragmentActivity) getContext()).getSupportFragmentManager(), InfoDialog.INFO_DIALOG_TAG);
+ final Bundle dexBundle = new Bundle();
+ dexBundle.putString(MESSAGE, getContext().getString(R.string.create_character_skill_info_dex));
+ dexInfoDialog.setArguments(dexBundle);
+ break;
+
+ case R.id.image_view_stats_panel_au_bar:
+ case R.id.text_view_stats_panel_au_title:
+ final InfoDialog aurInfoDialog = new InfoDialog();
+ aurInfoDialog.show(((FragmentActivity) getContext()).getSupportFragmentManager(), InfoDialog.INFO_DIALOG_TAG);
+ final Bundle aurBundle = new Bundle();
+ aurBundle.putString(MESSAGE, getContext().getString(R.string.create_character_skill_info_aur));
+ aurInfoDialog.setArguments(aurBundle);
+ break;
}
}
diff --git a/app/src/main/res/layout/fragment_bottom_action_confirm_dialog.xml b/app/src/main/res/layout/fragment_bottom_action_confirm_dialog.xml
index d1b5980..fa4a380 100644
--- a/app/src/main/res/layout/fragment_bottom_action_confirm_dialog.xml
+++ b/app/src/main/res/layout/fragment_bottom_action_confirm_dialog.xml
@@ -11,6 +11,13 @@
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
+
+
+ app:layout_constraintTop_toTopOf="@+id/guideline_top"
+ app:layout_constraintBottom_toTopOf="@+id/bottom_action_confirm_dialog_body_layout_scroll_view">
-
+ app:layout_constraintBottom_toTopOf="@+id/confirm_dialog_buttons_constraint_layout"
+ app:layout_constraintTop_toBottomOf="@+id/bottom_action_confirm_dialog_title_layout" >
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/bottom_action_confirm_dialog_body_layout_scroll_view">
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_info_dialog.xml b/app/src/main/res/layout/fragment_info_dialog.xml
new file mode 100644
index 0000000..b9e9d1e
--- /dev/null
+++ b/app/src/main/res/layout/fragment_info_dialog.xml
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_tip_dialog.xml b/app/src/main/res/layout/fragment_tip_dialog.xml
new file mode 100644
index 0000000..fd3d7fe
--- /dev/null
+++ b/app/src/main/res/layout/fragment_tip_dialog.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_stats_panel.xml b/app/src/main/res/layout/layout_stats_panel.xml
index c876587..3de3c1f 100644
--- a/app/src/main/res/layout/layout_stats_panel.xml
+++ b/app/src/main/res/layout/layout_stats_panel.xml
@@ -1,6 +1,5 @@
-
@@ -16,9 +15,9 @@
@@ -28,8 +27,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
- android:paddingRight="8dp"
android:paddingTop="@dimen/spacing_8"
+ android:paddingRight="8dp"
android:paddingBottom="4dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@@ -52,8 +51,8 @@
android:id="@+id/image_view_stats_panel_dex_bar"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginLeft="@dimen/spacing_8"
android:gravity="start|center_vertical"
+ android:paddingLeft="@dimen/spacing_8"
android:textAppearance="@style/D"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_weight="1"
@@ -117,14 +116,14 @@
android:id="@+id/bottom_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="4dp"
android:paddingLeft="8dp"
+ android:paddingTop="4dp"
android:paddingRight="8dp"
android:paddingBottom="@dimen/spacing_8"
android:textAppearance="@style/D"
- app:layout_constraintTop_toBottomOf="@+id/top_row"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent">
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/top_row">
Медицинская справка
Здесь представлены параметры, с которыми вы начинаете игру.\n\nЕщё четыре очка опыта вы можете распределить между последними двумя параметрами на своё усмотрение.
- Здоровье – название говорит само за себя. Если вы получите ранение, ваше Здоровье снизится. В каждом конкретном случае в книге будет указано, на сколько единиц вы должны его уменьшить. Если оно снизится до нуля, это будет означать гибель от ран. Придётся начинать всё с начала. В начале игры ваше Здоровье равно 16. Его можно восстанавливать с помощью аптечек и в лечебной капсуле, но оно никогда не может превышать 22.
- Каждое разумное существо имеет ауру, цвет которой может меняться в зависимости от поступков и психологического состояния. Хорошие дела осветляют ауру, плохие затемняют. Аура определяется с помощью прибора называемого аурометр. Для удобства параметр представлен в виде чисел, где нуль – нейтральность (полное равнодушие ко всему), от плюс одного – положительные качества, от минус одного – отрицательные. На изменение АУРЫ также влияют страх, зависть, ненависть, выдающиеся свершения и т.д. Казалось бы, не самый важный параметр, но в жизни бывают разные ситуации. Возможно, случится так, что плохие или хорошие поступки отразятся на АУРЕ и повлияют на ваше будущее.
- Параметр меткости влияет на точность стрельбы и глазомер. Чем он выше, тем больше шансов попасть в цель.
- Ловкость – это умение двигаться, преодолевать препятствия, общая подвижность. Чем она выше, тем вы быстрее и выносливее. В данной игре на величину Ловкости будет влиять количество снаряжения, которое вы несёте на себе.
+ Здоровье\n\nПолучая ранения, снижается ваш показатель Здоровья. Если оно снизится до нуля, это будет означать гибель от ран - придётся начинать всё с начала. Здоровье можно восстанавливать с помощью аптечек и в лечебной капсуле, но оно никогда не может превышать 22.
+ Аура\n\nАура меняется в зависимости от поступков и психологического состояния. Параметр представлен в виде чисел, где нуль – нейтральность (полное равнодушие ко всему), от плюс одного – положительные качества, от минус одного – отрицательные. Возможно, случится так, что плохие или хорошие поступки отразятся на АУРЕ и повлияют на ваше будущее.
+ Меткость\n\nПараметр меткости влияет на точность стрельбы и глазомер. Чем он выше, тем больше шансов попасть в цель.
+ Ловкость\n\nЧем выше ловкость, тем вы быстрее и выносливее. На этот параметр влияет количество снаряжения, которое вы несёте на себе.
+ Память.\n\nГерой этой игры страдает амнезией, но в ходе приключений что-то будет им вспоминаться, заполняя пробелы прошлого. За каждое такое озарение вы получаете очко памяти. Возможно, благодаря этому ему удастся вспомнить что-то важное.
+ Время\n\nЯчейка времени - это игровой термин, не привязанный к точному количеству минут или часов. Посещение локаций занимает время, которое у вас будет ограниченно. Всего доступно 30 клеток времени.
Сбросить
Продолжить
@@ -81,4 +83,6 @@
Отправится в лечебную капсулу
Посещение оружейной комнаты отнимет у вас одну единицу времени
Выйти в главное меню
+
+ Здоровье – название говорит само за себя. Если вы получите ранение, ваше Здоровье снизится. В каждом конкретном случае в книге будет указано, на сколько единиц вы должны его уменьшить. Если оно снизится до нуля, это будет означать гибель от ран. Придётся начинать всё с начала.\n\nВ начале игры ваше Здоровье равно 16. Его можно восстанавливать с помощью аптечек и в лечебной капсуле, но оно никогда не может превышать 22.
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 0b66263..7f5f28a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Feb 21 00:15:18 MSK 2019
+#Mon May 20 14:44:08 MSK 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip