Ad wrinkle achievement and layout fixes
This commit is contained in:
parent
c91f7cbc21
commit
958780b57e
16 changed files with 159 additions and 63 deletions
|
@ -37,7 +37,7 @@
|
||||||
<ConfirmationsSetting value="0" id="Add" />
|
<ConfirmationsSetting value="0" id="Add" />
|
||||||
<ConfirmationsSetting value="0" id="Remove" />
|
<ConfirmationsSetting value="0" id="Remove" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|
|
@ -9,8 +9,8 @@ android {
|
||||||
applicationId 'com.rubenvandeven.emotion_hero'
|
applicationId 'com.rubenvandeven.emotion_hero'
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 24
|
targetSdkVersion 24
|
||||||
versionCode 6
|
versionCode 7
|
||||||
versionName '0.5'
|
versionName '0.9'
|
||||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
renderscriptTargetApi 16
|
renderscriptTargetApi 16
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<activity android:name=".MirrorMenuActivity" />
|
<activity android:name=".MirrorMenuActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".ReviewAchievementsActivity"
|
android:name=".ReviewAchievementsActivity"
|
||||||
android:theme="@style/AppTheme.NoActionBar">
|
android:theme="@style/AchievementTheme">
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value="com.rubenvandeven.emotionhero.ReviewActivity" />
|
android:value="com.rubenvandeven.emotionhero.ReviewActivity" />
|
||||||
|
|
|
@ -331,13 +331,14 @@ public class AchievementCollection {
|
||||||
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
||||||
Context c = descriptionLayout.getContext();
|
Context c = descriptionLayout.getContext();
|
||||||
AppCompatTextView textView = new AppCompatTextView(c);
|
AppCompatTextView textView = new AppCompatTextView(c);
|
||||||
textView.setText("...");
|
textView.setText("\"Emotion work is understood as the art of trying to change in degree or quality an emotion or feeling. "+
|
||||||
|
"It may be defined as the management of one's own feelings or as work done in a conscious effort to maintain the well being of a relationship;\" (Wikipedia)");
|
||||||
descriptionLayout.addView(textView);
|
descriptionLayout.addView(textView);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
add(new Achievement(
|
add(new Achievement(
|
||||||
"Emotion work: evocation",
|
"Emotional labour: evocation",
|
||||||
null,
|
null,
|
||||||
new Achievement.AchievementListener() {
|
new Achievement.AchievementListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -364,18 +365,30 @@ public class AchievementCollection {
|
||||||
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
||||||
Context c = descriptionLayout.getContext();
|
Context c = descriptionLayout.getContext();
|
||||||
AppCompatTextView textView = new AppCompatTextView(c);
|
AppCompatTextView textView = new AppCompatTextView(c);
|
||||||
textView.setText("...");
|
textView.setText("\"Emotional labor is the process of managing feelings and expressions in order to fulfill emotional requirements as part of the job role.[1][2] More specifically, workers are expected to regulate their emotions during interactions with customers, co-workers and superiors. This includes analysis and decision making in terms of the expression of emotion, whether actually felt or not, as well as its opposite: the suppression of emotions that are felt but not expressed.\" (Wikipedia)");
|
||||||
descriptionLayout.addView(textView);
|
descriptionLayout.addView(textView);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
add(new Achievement(
|
add(new Achievement(
|
||||||
"The game's on you", // ??(mixed feelings/complex emotions)
|
"Wrinkle alarm",//"The game's on you", // ??(mixed feelings/complex emotions)
|
||||||
null,
|
null,
|
||||||
new Achievement.AchievementListener() {
|
new Achievement.AchievementListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean hasGotAchievement(Player player, Game game) {
|
public boolean hasGotAchievement(Player player, Game game) {
|
||||||
// ????
|
// lots of joy
|
||||||
|
float requiredJoy = 0;
|
||||||
|
float hasJoy = 0;
|
||||||
|
for(Hit hit: game.hits.values()) {
|
||||||
|
if(hit.target.emotion == Emotion.JOY) {
|
||||||
|
requiredJoy += hit.target.value;
|
||||||
|
}
|
||||||
|
hasJoy += hit.emotions.get(Emotion.JOY);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(hasJoy >= requiredJoy * 2) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,7 +396,7 @@ public class AchievementCollection {
|
||||||
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
||||||
Context c = descriptionLayout.getContext();
|
Context c = descriptionLayout.getContext();
|
||||||
AppCompatTextView textView = new AppCompatTextView(c);
|
AppCompatTextView textView = new AppCompatTextView(c);
|
||||||
textView.setText("...");
|
textView.setText("Besides tracking only points in the face, the intensity of wrinkles next to the eyes provides a clue as to how much someone is smiling.");
|
||||||
descriptionLayout.addView(textView);
|
descriptionLayout.addView(textView);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -424,7 +437,7 @@ public class AchievementCollection {
|
||||||
boolean missedATarget = false;
|
boolean missedATarget = false;
|
||||||
// Add Kuleshov's target... person managers to do it
|
// Add Kuleshov's target... person managers to do it
|
||||||
for(int target_id: game.scenario.kuleshovTargetIds) {
|
for(int target_id: game.scenario.kuleshovTargetIds) {
|
||||||
if(game.hits.get(target_id).bonus < 5) { // needs at least a little bonus on all
|
if(game.hits.get(target_id).bonus < 1) { // needs at least a little bonus on all
|
||||||
missedATarget = true;
|
missedATarget = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -473,12 +486,16 @@ public class AchievementCollection {
|
||||||
public boolean hasGotAchievement(Player player, Game game) {
|
public boolean hasGotAchievement(Player player, Game game) {
|
||||||
// on average an overexecaration??
|
// on average an overexecaration??
|
||||||
int niceOnes = 0;
|
int niceOnes = 0;
|
||||||
|
int applicableHits = 0;
|
||||||
for(Hit hit: game.hits.values()) {
|
for(Hit hit: game.hits.values()) {
|
||||||
if(hit.score >= 80) {
|
if(hit.target.value > 75) {
|
||||||
niceOnes ++;
|
applicableHits++;
|
||||||
|
if(hit.score >= 80) {
|
||||||
|
niceOnes ++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(niceOnes >= game.hits.size() * 0.8) {
|
if(niceOnes >= applicableHits * 0.8) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -488,8 +505,8 @@ public class AchievementCollection {
|
||||||
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
public void setDescription(Player player, Game game, LinearLayout descriptionLayout) {
|
||||||
Context c = descriptionLayout.getContext();
|
Context c = descriptionLayout.getContext();
|
||||||
AppCompatTextView textView = new AppCompatTextView(c);
|
AppCompatTextView textView = new AppCompatTextView(c);
|
||||||
textView.setText("You are remarkably good at posing, just like this guy:");
|
textView.setText("You are remarkably good at posing for the requested emotion!");
|
||||||
// TODO: ad MS image
|
// TODO: ad MS image "just like this guy"
|
||||||
descriptionLayout.addView(textView);
|
descriptionLayout.addView(textView);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -79,7 +79,7 @@ public class EndingActivity extends AppCompatActivity {
|
||||||
|
|
||||||
if(rank == 1) {
|
if(rank == 1) {
|
||||||
textSuccess.setVisibility(View.VISIBLE);
|
textSuccess.setVisibility(View.VISIBLE);
|
||||||
logoEmotionHero.setVisibility(View.VISIBLE);
|
// logoEmotionHero.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
textFailure.setVisibility(View.VISIBLE);
|
textFailure.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.rubenvandeven.emotionhero;
|
||||||
|
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.support.design.widget.FloatingActionButton;
|
import android.support.design.widget.FloatingActionButton;
|
||||||
import android.support.design.widget.Snackbar;
|
import android.support.design.widget.Snackbar;
|
||||||
|
@ -15,7 +16,9 @@ import android.support.v4.app.FragmentManager;
|
||||||
import android.support.v4.app.FragmentPagerAdapter;
|
import android.support.v4.app.FragmentPagerAdapter;
|
||||||
import android.support.v4.view.ViewPager;
|
import android.support.v4.view.ViewPager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.text.Layout;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -32,6 +35,8 @@ import org.ocpsoft.prettytime.PrettyTime;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import static android.view.View.TEXT_ALIGNMENT_TEXT_END;
|
||||||
|
|
||||||
public class HighscoreActivity extends AppCompatActivity {
|
public class HighscoreActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
||||||
|
@ -201,7 +206,10 @@ public class HighscoreActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
||||||
TextView levelName = (TextView) rootView.findViewById(R.id.levelName);
|
TextView levelName = (TextView) rootView.findViewById(R.id.levelName);
|
||||||
levelName.setText("\""+scenario.toString()+"\"");
|
levelName.setText(scenario.toString());
|
||||||
|
Typeface font = Typeface.createFromAsset(getContext().getAssets(), "unifont-9.0.02.ttf");
|
||||||
|
levelName.setTypeface(font);
|
||||||
|
startLvlButton.setTypeface(font);
|
||||||
|
|
||||||
LinearLayout topscoreList = (LinearLayout) rootView.findViewById(R.id.topscoreList);
|
LinearLayout topscoreList = (LinearLayout) rootView.findViewById(R.id.topscoreList);
|
||||||
|
|
||||||
|
@ -223,11 +231,26 @@ public class HighscoreActivity extends AppCompatActivity {
|
||||||
for(Game game: games) {
|
for(Game game: games) {
|
||||||
final long itemGameId = game.id;
|
final long itemGameId = game.id;
|
||||||
i++;
|
i++;
|
||||||
String highscoreText = String.format("%1$d. %2$.4f", i, game.score+game.bonus); //make line by line elements
|
String highscoreScoreText = String.format("%1$.2f", game.score+game.bonus); //make line by line elements
|
||||||
|
String highscorePositionText = String.format("%1$d.", i); //make line by line elements
|
||||||
|
LinearLayout scoreLayout = new LinearLayout(getContext());
|
||||||
|
scoreLayout.setOrientation(LinearLayout.HORIZONTAL);
|
||||||
|
|
||||||
TextView scoreItem = new TextView(getContext());
|
TextView scoreItem = new TextView(getContext());
|
||||||
scoreItem.setText(highscoreText);
|
TextView scorePos = new TextView(getContext());
|
||||||
scoreItem.setTextColor(ContextCompat.getColor(getContext(), R.color.highscore));
|
|
||||||
scoreItem.setOnClickListener(new View.OnClickListener() {
|
scoreItem.setGravity(Gravity.RIGHT);
|
||||||
|
scoreItem.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||||
|
scoreItem.setTypeface(Typeface.create("sans-serif-light", Typeface.NORMAL));
|
||||||
|
|
||||||
|
scoreItem.setText(highscoreScoreText );
|
||||||
|
scorePos.setText(highscorePositionText);
|
||||||
|
|
||||||
|
// scoreItem.setTextColor(ContextCompat.getColor(getContext(), R.color.highscore));
|
||||||
|
scoreItem.setTextColor(ContextCompat.getColor(getContext(), R.color.textPrimary));
|
||||||
|
scorePos.setTextColor(ContextCompat.getColor(getContext(), R.color.textHighlight));
|
||||||
|
|
||||||
|
scoreLayout.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Intent intent = new Intent(getContext(), ReviewActivity.class);
|
Intent intent = new Intent(getContext(), ReviewActivity.class);
|
||||||
|
@ -239,17 +262,39 @@ public class HighscoreActivity extends AppCompatActivity {
|
||||||
|
|
||||||
float multiplier = i <= 5 ? 1 + (5-i)/5f : 1f;
|
float multiplier = i <= 5 ? 1 + (5-i)/5f : 1f;
|
||||||
scoreItem.setTextSize(getResources().getDimension(R.dimen.highscore_textsize) * multiplier);
|
scoreItem.setTextSize(getResources().getDimension(R.dimen.highscore_textsize) * multiplier);
|
||||||
scoreItem.setTypeface(Typeface.DEFAULT_BOLD);
|
scorePos.setTextSize(getResources().getDimension(R.dimen.highscore_textsize) * multiplier);
|
||||||
topscoreList.addView(scoreItem);
|
|
||||||
|
scoreLayout.addView(scorePos);
|
||||||
|
scoreLayout.addView(scoreItem);
|
||||||
|
|
||||||
|
topscoreList.addView(scoreLayout);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LinearLayout detailLayout = new LinearLayout(getContext());
|
||||||
|
detailLayout.setOrientation(LinearLayout.HORIZONTAL);
|
||||||
|
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||||
|
llp.setMargins(0, -20, 0, 0); // llp.setMargins(left, top, right, bottom);
|
||||||
|
detailLayout.setLayoutParams(llp);
|
||||||
|
|
||||||
TextView dateItem = new TextView(getContext());
|
TextView dateItem = new TextView(getContext());
|
||||||
dateItem.setText(prettyTime.format(game.time));
|
dateItem.setText(prettyTime.format(game.time));
|
||||||
dateItem.setTextColor(ContextCompat.getColor(getContext(), R.color.textSecondary));
|
dateItem.setTextColor(ContextCompat.getColor(getContext(), R.color.textSecondary));
|
||||||
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
|
||||||
llp.setMargins(0, -20, 0, 0); // llp.setMargins(left, top, right, bottom);
|
|
||||||
dateItem.setLayoutParams(llp);
|
|
||||||
dateItem.setTypeface(Typeface.DEFAULT);
|
dateItem.setTypeface(Typeface.DEFAULT);
|
||||||
topscoreList.addView(dateItem);
|
|
||||||
|
TextView achievementText = new TextView(getContext());
|
||||||
|
achievementText.setText(String.format("+%1$d achievements", game.achievements.size()));
|
||||||
|
achievementText.setTextColor(getResources().getColor(R.color.textPrimary));
|
||||||
|
achievementText.setGravity(Gravity.RIGHT);
|
||||||
|
achievementText.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||||
|
|
||||||
|
|
||||||
|
detailLayout.addView(dateItem);
|
||||||
|
detailLayout.addView(achievementText);
|
||||||
|
|
||||||
|
topscoreList.addView(detailLayout);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(currentGame != null && currentGame.id == game.id) {
|
if(currentGame != null && currentGame.id == game.id) {
|
||||||
foundScore = true;
|
foundScore = true;
|
||||||
|
@ -273,6 +318,7 @@ public class HighscoreActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
||||||
if(player.getPlayerInfo().hasAccessToLevel(lvl_id)) {
|
if(player.getPlayerInfo().hasAccessToLevel(lvl_id)) {
|
||||||
|
|
||||||
if(currentGame != null) { // if we come from the level itself.. show retry!
|
if(currentGame != null) { // if we come from the level itself.. show retry!
|
||||||
startLvlButton.setText("Retry");
|
startLvlButton.setText("Retry");
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class ReviewAchievementsActivity extends AppCompatActivity {
|
||||||
|
|
||||||
titleText.setText(achievement.title);
|
titleText.setText(achievement.title);
|
||||||
// titleText.setText("mwa");
|
// titleText.setText("mwa");
|
||||||
titleText.setTextColor(getResources().getColor(R.color.textHighlight));
|
titleText.setTextColor(getResources().getColor(R.color.colorPrimary));
|
||||||
titleText.setTextSize(getResources().getDimensionPixelSize(R.dimen.highscore_textsize));
|
titleText.setTextSize(getResources().getDimensionPixelSize(R.dimen.highscore_textsize));
|
||||||
titleText.setLayoutParams(params);
|
titleText.setLayoutParams(params);
|
||||||
|
|
||||||
|
|
|
@ -172,21 +172,30 @@ public class ReviewActivity extends AppCompatActivity {
|
||||||
nextLvlText.setVisibility(View.GONE);
|
nextLvlText.setVisibility(View.GONE);
|
||||||
nextLvlLayout.setVisibility(View.GONE);
|
nextLvlLayout.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
TextView improveTitle= (TextView) findViewById(R.id.improveTitle);
|
||||||
|
TextView retryTitle = (TextView) findViewById(R.id.retryTitle );
|
||||||
|
TextView nextLvlTitle = (TextView) findViewById(R.id.nextLvlTitle);
|
||||||
|
|
||||||
checkAchievements();
|
checkAchievements();
|
||||||
|
|
||||||
Typeface font = Typeface.createFromAsset(getAssets(), "unifont-9.0.02.ttf");
|
Typeface font = Typeface.createFromAsset(getAssets(), "unifont-9.0.02.ttf");
|
||||||
lvlNameText.setTypeface(font);
|
lvlNameText.setTypeface(font);
|
||||||
overallScorePercText.setTypeface(font);
|
overallScorePercText.setTypeface(font);
|
||||||
achievementArrow.setTypeface(font);
|
achievementArrow.setTypeface(font);
|
||||||
achievementText.setTypeface(font);
|
// achievementText.setTypeface(font);
|
||||||
retryArrow.setTypeface(font);
|
retryArrow.setTypeface(font);
|
||||||
// improveArrow.setTypeface(font);
|
// improveArrow.setTypeface(font);
|
||||||
nextLvlArrow.setTypeface(font);
|
nextLvlArrow.setTypeface(font);
|
||||||
|
achievementTitle.setTypeface(font);
|
||||||
|
improveTitle.setTypeface(font);
|
||||||
|
retryTitle.setTypeface(font);
|
||||||
|
nextLvlTitle.setTypeface(font);
|
||||||
|
|
||||||
lvlNameText.setText("\""+game.scenario.toString()+"\"");
|
|
||||||
|
lvlNameText.setText(game.scenario.toString());
|
||||||
PrettyTime p = new PrettyTime();
|
PrettyTime p = new PrettyTime();
|
||||||
dateText.setText(p.format(game.time));
|
dateText.setText(p.format(game.time));
|
||||||
scoreText.setText(String.format("%1$.4f", game.score+game.bonus));
|
scoreText.setText(String.format("%1$.2f", game.score+game.bonus));
|
||||||
// overallScorePercText.setText(String.format("%1$.0f%%", 30f));
|
// overallScorePercText.setText(String.format("%1$.0f%%", 30f));
|
||||||
|
|
||||||
loadRemoteInfo.run();
|
loadRemoteInfo.run();
|
||||||
|
|
|
@ -684,10 +684,10 @@ public class Scenario {
|
||||||
|
|
||||||
setMinimumScoreFromPercentage(40);
|
setMinimumScoreFromPercentage(40);
|
||||||
minimumAchievements = 2;
|
minimumAchievements = 2;
|
||||||
achievements.add(achievementCollection.get(8));
|
|
||||||
achievements.add(achievementCollection.get(9));
|
|
||||||
achievements.add(achievementCollection.get(10));
|
|
||||||
achievements.add(achievementCollection.get(11));
|
achievements.add(achievementCollection.get(11));
|
||||||
|
achievements.add(achievementCollection.get(12));
|
||||||
|
achievements.add(achievementCollection.get(13));
|
||||||
|
achievements.add(achievementCollection.get(14));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case LVL_ACTNORMAL:
|
case LVL_ACTNORMAL:
|
||||||
|
@ -733,20 +733,21 @@ public class Scenario {
|
||||||
setTarget(Emotion.CONTEMPT, 10, a);
|
setTarget(Emotion.CONTEMPT, 10, a);
|
||||||
setTarget(Emotion.SURPRISE, 10, a);
|
setTarget(Emotion.SURPRISE, 10, a);
|
||||||
|
|
||||||
setTarget(Emotion.DISGUST, 5, a++);
|
setTarget(Emotion.DISGUST, 10, a++);
|
||||||
setTarget(Emotion.CONTEMPT, 5, a);
|
setTarget(Emotion.CONTEMPT, 10, a);
|
||||||
setTarget(Emotion.SURPRISE, 5, a);
|
setTarget(Emotion.SURPRISE, 10, a);
|
||||||
|
|
||||||
// Kuleshov's target:
|
// Kuleshov's target:
|
||||||
kuleshovTargetIds = new int[3];
|
kuleshovTargetIds = new int[3];
|
||||||
kuleshovTargetIds[0] = setTarget(Emotion.DISGUST, 1, a++);
|
// use 3% instead of 0.2% as it otherwise becomes invisible!
|
||||||
kuleshovTargetIds[1] = setTarget(Emotion.CONTEMPT, 1, a);
|
kuleshovTargetIds[0] = setTarget(Emotion.DISGUST, 3, a++);
|
||||||
kuleshovTargetIds[2] = setTarget(Emotion.SURPRISE, 1, a);
|
kuleshovTargetIds[1] = setTarget(Emotion.CONTEMPT, 3, a);
|
||||||
|
kuleshovTargetIds[2] = setTarget(Emotion.SURPRISE, 3, a);
|
||||||
// END OF KULESHOV
|
// END OF KULESHOV
|
||||||
|
|
||||||
setTarget(Emotion.DISGUST, 1, a++);
|
setTarget(Emotion.DISGUST, 3, a++);
|
||||||
setTarget(Emotion.CONTEMPT, 1, a);
|
setTarget(Emotion.CONTEMPT, 3, a);
|
||||||
setTarget(Emotion.SURPRISE, 1, a);
|
setTarget(Emotion.SURPRISE, 3, a);
|
||||||
|
|
||||||
|
|
||||||
setTarget(Emotion.ANGER, 1, a++);
|
setTarget(Emotion.ANGER, 1, a++);
|
||||||
|
@ -759,9 +760,9 @@ public class Scenario {
|
||||||
|
|
||||||
setMinimumScoreFromPercentage(40);
|
setMinimumScoreFromPercentage(40);
|
||||||
minimumAchievements = 2;
|
minimumAchievements = 2;
|
||||||
achievements.add(achievementCollection.get(12));
|
achievements.add(achievementCollection.get(15));
|
||||||
achievements.add(achievementCollection.get(13));
|
achievements.add(achievementCollection.get(16));
|
||||||
achievements.add(achievementCollection.get(14));
|
achievements.add(achievementCollection.get(17));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,8 +56,9 @@
|
||||||
android:textSize="30sp"
|
android:textSize="30sp"
|
||||||
android:textColor="@color/textPrimary" />
|
android:textColor="@color/textPrimary" />
|
||||||
|
|
||||||
|
<!--If you encounter them in a conversation, not only remember your training, but remember that they had their training as well. / they have a better mask/can control better-->
|
||||||
<TextView
|
<TextView
|
||||||
android:text="You seek desperately to become the Emotion Hero. However, you are not yet there. \nDespite finishing all steps in the training, your peers have done the same. They are better at employing this technology for their own benefit, so you are still one step behind.\nKeep on training young padawan, and eventually, you might become the one and only..."
|
android:text="@string/ending_loser"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/textFailure"
|
android:id="@+id/textFailure"
|
||||||
|
@ -65,8 +66,9 @@
|
||||||
android:textColor="@color/textPrimary"
|
android:textColor="@color/textPrimary"
|
||||||
android:visibility="gone"/>
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
<!-- Next time you have a conversation, remember your training: you are better at adapting yourself to the requirements of a situation than any other. / mask?-->
|
||||||
<TextView
|
<TextView
|
||||||
android:text="You are the one and only Emotion Hero. As number one in the general ranklist, you are the 'Master of the face'."
|
android:text="@string/ending_winner"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/textSuccess"
|
android:id="@+id/textSuccess"
|
||||||
|
|
|
@ -27,7 +27,8 @@
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:background="?attr/colorPrimary"
|
android:background="?attr/colorPrimary"
|
||||||
app:layout_scrollFlags="scroll|enterAlways"
|
app:layout_scrollFlags="scroll|enterAlways"
|
||||||
app:popupTheme="@style/AppTheme.PopupOverlay">
|
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||||
|
app:titleTextColor="@color/textHighlight">
|
||||||
|
|
||||||
</android.support.v7.widget.Toolbar>
|
</android.support.v7.widget.Toolbar>
|
||||||
|
|
||||||
|
|
|
@ -89,13 +89,12 @@
|
||||||
android:layout_alignLeft="@+id/dateText"
|
android:layout_alignLeft="@+id/dateText"
|
||||||
android:layout_alignStart="@+id/dateText"
|
android:layout_alignStart="@+id/dateText"
|
||||||
android:layout_marginTop="40dp"
|
android:layout_marginTop="40dp"
|
||||||
android:layout_toStartOf="@+id/scoreText"
|
android:layout_width="100dp"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_alignBottom="@+id/scoreText"
|
android:layout_alignBottom="@+id/scoreText"
|
||||||
android:layout_marginLeft="0dp"
|
android:layout_marginLeft="0dp"
|
||||||
android:layout_marginBottom="-10dp"
|
android:layout_marginBottom="-10dp"
|
||||||
android:layout_alignRight="@+id/dateText"
|
android:adjustViewBounds="false"
|
||||||
android:layout_alignEnd="@+id/dateText" />
|
android:cropToPadding="true" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="..."
|
android:text="..."
|
||||||
|
@ -116,6 +115,7 @@
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="overall position"
|
android:text="overall position"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/imageView"
|
android:layout_below="@+id/imageView"
|
||||||
|
@ -144,7 +144,7 @@
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/emotion_joy"
|
android:background="@color/highscore"
|
||||||
android:padding="@dimen/fab_margin"
|
android:padding="@dimen/fab_margin"
|
||||||
android:layout_below="@+id/achievementTitle"
|
android:layout_below="@+id/achievementTitle"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
|
@ -159,7 +159,7 @@
|
||||||
android:id="@+id/achievementText"
|
android:id="@+id/achievementText"
|
||||||
android:layout_toLeftOf="@+id/achievementArrow"
|
android:layout_toLeftOf="@+id/achievementArrow"
|
||||||
android:layout_centerInParent="true"
|
android:layout_centerInParent="true"
|
||||||
android:textColor="@color/textPrimary"
|
android:textColor="@color/textSecondary"
|
||||||
tools:text="No achievements." />
|
tools:text="No achievements." />
|
||||||
|
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:id="@+id/achievementArrow"
|
android:id="@+id/achievementArrow"
|
||||||
android:textColor="@color/textPrimary"
|
android:textColor="@color/textSecondary"
|
||||||
android:textSize="36sp"
|
android:textSize="36sp"
|
||||||
android:layout_centerInParent="true" />
|
android:layout_centerInParent="true" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:background="?attr/colorPrimary"
|
|
||||||
app:layout_scrollFlags="scroll|enterAlways"
|
app:layout_scrollFlags="scroll|enterAlways"
|
||||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||||
app:titleTextColor="@color/textHighlight">
|
app:titleTextColor="@color/textHighlight">
|
||||||
|
|
|
@ -33,9 +33,11 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/levelName"
|
android:id="@+id/levelName"
|
||||||
android:textSize="15sp"
|
android:textSize="24sp"
|
||||||
android:textColor="@color/highscore"
|
android:textColor="@color/textPrimary"
|
||||||
android:textStyle="normal|bold" />
|
android:textStyle="normal"
|
||||||
|
android:fontFamily="monospace"
|
||||||
|
tools:text=""Please don't cry"" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -55,7 +57,10 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Start"
|
android:text="Start"
|
||||||
android:id="@+id/startLvlButton"
|
android:id="@+id/startLvlButton"
|
||||||
android:layout_weight="1"/>
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="monospace"
|
||||||
|
android:textSize="24sp"
|
||||||
|
android:textColor="@color/textHighlight" />
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
|
@ -16,9 +16,11 @@
|
||||||
<string name="section_format">Hello World from section: %1$d</string>
|
<string name="section_format">Hello World from section: %1$d</string>
|
||||||
<string name="load_game_activity">Loading training...</string>
|
<string name="load_game_activity">Loading training...</string>
|
||||||
<string name="game_intro_text">Are you ready to become the next <b>Emotion Hero</b>? With this program you train for the right emotional response in <i>every</i> situation.</string>
|
<string name="game_intro_text">Are you ready to become the next <b>Emotion Hero</b>? With this program you train for the right emotional response in <i>every</i> situation.</string>
|
||||||
<string name="game_intro_text2">The bar belows shows your current feelings.\nFeel the emotions as they are given by the dots on screen. If <i>you</i> feel them, <i>we</i> detect them!</string>
|
<string name="game_intro_text2">The bar belows shows your current feelings.\nFeel the emotions as they are given by the dots that come down on the screen. If <i>you</i> feel them, <i>we</i> detect them!</string>
|
||||||
|
|
||||||
<string name="permission_description">When you play this game, it can collect fragments of your face which are contributed to a shared artwork. See the example image below, emotionhero.com.\nAre you ok with this?</string>
|
<string name="permission_description">When you play this game, it can collect fragments of your face which are contributed to a shared artwork. See the example image below, emotionhero.com.\nAre you ok with this?</string>
|
||||||
<string name="permission_no">Rather not</string>
|
<string name="permission_no">Rather not</string>
|
||||||
<string name="permission_yes">Sure!</string>
|
<string name="permission_yes">Sure!</string>
|
||||||
|
<string name="ending_winner">You are the one and only <i>Emotion Hero</i>!</string>
|
||||||
|
<string name="ending_loser">You have finished all steps in the training, and many peers have done the same. It is too bad that many scored better than you. Try smiling better next time!</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -12,6 +12,20 @@
|
||||||
<item name="android:colorBackground">@color/colorPrimary</item>
|
<item name="android:colorBackground">@color/colorPrimary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
<style name="AchievementTheme" parent="Theme.AppCompat.NoActionBar">
|
||||||
|
<!-- Customize your theme here. -->
|
||||||
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorScenarioLine</item>
|
||||||
|
<item name="android:textSize">16sp</item>
|
||||||
|
<item name="android:textColor">@color/textSecondary</item>
|
||||||
|
<item name="android:textColorPrimary">@color/colorPrimary</item>
|
||||||
|
<item name="android:windowBackground">@color/highscore</item>
|
||||||
|
<item name="android:textColorSecondary">@color/colorPrimaryDark</item>
|
||||||
|
<item name="android:colorBackground">@color/highscore</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="FullscreenTheme" parent="AppTheme">
|
<style name="FullscreenTheme" parent="AppTheme">
|
||||||
<item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
|
<item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
|
||||||
<item name="android:windowActionBarOverlay">true</item>
|
<item name="android:windowActionBarOverlay">true</item>
|
||||||
|
|
Loading…
Reference in a new issue