From 76eaf13772dcfbf71501a711d6565c93ebcf6211 Mon Sep 17 00:00:00 2001 From: Oskar Wiksten Date: Mon, 21 Jan 2013 21:04:08 +0100 Subject: [PATCH] Minor fix to loading json files from raw/. --- .../conversation/ConversationLoader.java | 2 +- .../AndorsTrail/resource/ResourceLoader.java | 51 ++++++++----------- 2 files changed, 23 insertions(+), 30 deletions(-) diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/conversation/ConversationLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/conversation/ConversationLoader.java index 48acd15c7..183a80fe1 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/conversation/ConversationLoader.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/conversation/ConversationLoader.java @@ -21,7 +21,7 @@ public final class ConversationLoader { ConversationListParser conversationListParser = new ConversationListParser(); int resourceID = resourceIDsPerPhraseID.get(phraseID); - conversationCollection.initialize(conversationListParser, ResourceLoader.readStringFromRawResource(r, resourceID)); + conversationCollection.initialize(conversationListParser, ResourceLoader.readStringFromRaw(r, resourceID)); return conversationCollection.getPhrase(phraseID); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java index 3db86f6b5..cf1fd6de5 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java @@ -1,32 +1,22 @@ package com.gpl.rpg.AndorsTrail.resource; +import android.content.res.Resources; +import android.content.res.TypedArray; +import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; +import com.gpl.rpg.AndorsTrail.R; +import com.gpl.rpg.AndorsTrail.context.WorldContext; +import com.gpl.rpg.AndorsTrail.conversation.ConversationCollection; +import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator; +import com.gpl.rpg.AndorsTrail.resource.parsers.*; +import com.gpl.rpg.AndorsTrail.util.L; +import com.gpl.rpg.AndorsTrail.util.Size; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Collection; -import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; -import com.gpl.rpg.AndorsTrail.R; -import com.gpl.rpg.AndorsTrail.context.WorldContext; -import com.gpl.rpg.AndorsTrail.conversation.ConversationCollection; -import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator; -import com.gpl.rpg.AndorsTrail.resource.parsers.ActorConditionsTypeParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.ConversationListParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.DropListParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.ItemCategoryParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.ItemTypeParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.MonsterTypeParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.QuestParser; -import com.gpl.rpg.AndorsTrail.resource.parsers.WorldMapParser; -import com.gpl.rpg.AndorsTrail.util.L; -import com.gpl.rpg.AndorsTrail.util.Size; - -import android.content.res.Resources; -import android.content.res.TypedArray; -import org.json.JSONArray; -import org.json.JSONException; - public final class ResourceLoader { private static final int itemCategoriesResourceId = R.array.loadresource_itemcategories; @@ -88,7 +78,7 @@ public final class ResourceLoader { final ItemCategoryParser itemCategoryParser = new ItemCategoryParser(); final TypedArray categoriesToLoad = r.obtainTypedArray(itemCategoriesResourceId); for (int i = 0; i < categoriesToLoad.length(); ++i) { - world.itemCategories.initialize(itemCategoryParser, readStringFromRawResource(r, categoriesToLoad.getResourceId(i, -1))); + world.itemCategories.initialize(itemCategoryParser, readStringFromRaw(r, categoriesToLoad, i)); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ItemCategoryParser"); @@ -97,7 +87,7 @@ public final class ResourceLoader { final ActorConditionsTypeParser actorConditionsTypeParser = new ActorConditionsTypeParser(loader); final TypedArray conditionsToLoad = r.obtainTypedArray(actorConditionsResourceId); for (int i = 0; i < conditionsToLoad.length(); ++i) { - world.actorConditionsTypes.initialize(actorConditionsTypeParser, readStringFromRawResource(r, conditionsToLoad.getResourceId(i, -1))); + world.actorConditionsTypes.initialize(actorConditionsTypeParser, readStringFromRaw(r, conditionsToLoad, i)); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ActorConditionsTypeParser"); @@ -112,7 +102,7 @@ public final class ResourceLoader { final ItemTypeParser itemTypeParser = new ItemTypeParser(loader, world.actorConditionsTypes, world.itemCategories); final TypedArray itemsToLoad = r.obtainTypedArray(itemsResourceId); for (int i = 0; i < itemsToLoad.length(); ++i) { - world.itemTypes.initialize(itemTypeParser, readStringFromRawResource(r, itemsToLoad.getResourceId(i, -1))); + world.itemTypes.initialize(itemTypeParser, readStringFromRaw(r, itemsToLoad, i)); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ItemTypeParser"); @@ -122,7 +112,7 @@ public final class ResourceLoader { final DropListParser dropListParser = new DropListParser(world.itemTypes); final TypedArray droplistsToLoad = r.obtainTypedArray(droplistsResourceId); for (int i = 0; i < droplistsToLoad.length(); ++i) { - world.dropLists.initialize(dropListParser, readStringFromRawResource(r, droplistsToLoad.getResourceId(i, -1))); + world.dropLists.initialize(dropListParser, readStringFromRaw(r, droplistsToLoad, i)); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("DropListParser"); @@ -132,7 +122,7 @@ public final class ResourceLoader { final QuestParser questParser = new QuestParser(); final TypedArray questsToLoad = r.obtainTypedArray(questsResourceId); for (int i = 0; i < questsToLoad.length(); ++i) { - world.quests.initialize(questParser, readStringFromRawResource(r, questsToLoad.getResourceId(i, -1))); + world.quests.initialize(questParser, readStringFromRaw(r, questsToLoad, i)); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("QuestParser"); @@ -143,7 +133,7 @@ public final class ResourceLoader { final TypedArray conversationsListsToLoad = r.obtainTypedArray(conversationsListsResourceId); for (int i = 0; i < conversationsListsToLoad.length(); ++i) { ConversationCollection conversations = new ConversationCollection(); - Collection ids = conversations.initialize(conversationListParser, readStringFromRawResource(r, conversationsListsToLoad.getResourceId(i, -1))); + Collection ids = conversations.initialize(conversationListParser, readStringFromRaw(r, conversationsListsToLoad, i)); world.conversationLoader.addIDs(conversationsListsToLoad.getResourceId(i, -1), ids); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ConversationListParser"); @@ -154,7 +144,7 @@ public final class ResourceLoader { final MonsterTypeParser monsterTypeParser = new MonsterTypeParser(world.dropLists, world.actorConditionsTypes, loader); final TypedArray monstersToLoad = r.obtainTypedArray(monstersResourceId); for (int i = 0; i < monstersToLoad.length(); ++i) { - world.monsterTypes.initialize(monsterTypeParser, readStringFromRawResource(r, monstersToLoad.getResourceId(i, -1))); + world.monsterTypes.initialize(monsterTypeParser, readStringFromRaw(r, monstersToLoad, i)); } if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("MonsterTypeParser"); @@ -196,7 +186,10 @@ public final class ResourceLoader { } } - public static String readStringFromRawResource(final Resources r, int resourceID) { + public static String readStringFromRaw(final Resources r, final TypedArray array, final int index) { + return readStringFromRaw(r, array.getResourceId(index, -1)); + } + public static String readStringFromRaw(final Resources r, final int resourceID) { InputStream is = r.openRawResource(resourceID); BufferedReader br = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(1000);