WIP move conversation logic to ConversationStatemachine - bugfix for selecting replies with requirements.

This commit is contained in:
Oskar Wiksten
2013-02-21 14:29:25 +00:00
parent 37ae3b6c69
commit e965afc699
2 changed files with 13 additions and 16 deletions

View File

@@ -118,7 +118,7 @@ public final class ConversationActivity extends Activity implements OnKeyListene
}
private int getSelectedReplyIndex() {
for (int i = 0; i < conversationState.getReplyCount(); ++i) {
for (int i = 0; i < replyGroup.getChildCount(); ++i) {
final View v = replyGroup.getChildAt(i);
if (v == null) continue;
final RadioButton rb = (RadioButton) v;
@@ -126,18 +126,18 @@ public final class ConversationActivity extends Activity implements OnKeyListene
}
return -1;
}
private void setSelectedReplyIndex(int i) {
int replyCount = conversationState.getReplyCount();
if (replyCount <= 0) return;
if (i < 0) i = 0;
else if (i >= replyCount) i = replyCount - 1;
View v = replyGroup.getChildAt(i);
private void setSelectedReplyIndex(int i) {
int replyCount = replyGroup.getChildCount();
if (replyCount <= 0) return;
if (i < 0) i = 0;
else if (i >= replyCount) i = replyCount - 1;
View v = replyGroup.getChildAt(i);
if (v == null) return;
RadioButton rb = (RadioButton) v;
rb.setChecked(true);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
@@ -181,7 +181,7 @@ public final class ConversationActivity extends Activity implements OnKeyListene
}
private RadioButton getSelectedReplyButton() {
for (int i = 0; i < conversationState.getReplyCount(); ++i) {
for (int i = 0; i < replyGroup.getChildCount(); ++i) {
final View v = replyGroup.getChildAt(i);
if (v == null) continue;
final RadioButton rb = (RadioButton) v;

View File

@@ -253,12 +253,9 @@ public final class ConversationController {
requestReplies();
}
public int getReplyCount() {
if (currentPhrase.replies == null) return 0;
return currentPhrase.replies.length;
}
public boolean hasOnlyOneNextReply() {
if (getReplyCount() != 1) return false;
if (currentPhrase.replies == null) return false;
if (currentPhrase.replies.length != 1) return false;
if (currentPhrase.replies[0].text.equals(ConversationCollection.REPLY_NEXT)) return true;
return false;
}