project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/MapFragment.java
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/MapFragment.java Mon Aug 20 20:16:37 2012 +0200
+++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/MapFragment.java Mon Aug 20 20:19:35 2012 +0200
@@ -10,8 +10,6 @@
import org.hedgewars.hedgeroid.Datastructures.FrontendDataUtils;
import org.hedgewars.hedgeroid.Datastructures.MapFile;
import org.hedgewars.hedgeroid.Datastructures.MapRecipe;
-import org.hedgewars.hedgeroid.Datastructures.Scheme;
-import org.hedgewars.hedgeroid.Datastructures.Weaponset;
import org.hedgewars.hedgeroid.frontlib.Frontlib;
import android.content.Context;
@@ -33,7 +31,7 @@
import android.widget.TableRow;
import android.widget.Toast;
-public class MapFragment extends Fragment implements RoomStateManager.Observer {
+public class MapFragment extends Fragment {
private Spinner mapTypeSpinner, mapNameSpinner, templateSpinner, mazeSizeSpinner;
private TableRow nameRow, templateRow, mazeSizeRow;
private ImageView mapPreview;
@@ -91,7 +89,7 @@
templateSpinner = prepareSpinner(v, R.id.spinTemplateFilter, Arrays.asList(getResources().getStringArray(R.array.map_templates)), mapTemplateSelectedListener);
mazeSizeSpinner = prepareSpinner(v, R.id.spinMazeSize, Arrays.asList(getResources().getStringArray(R.array.map_maze_sizes)), mazeSizeSelectedListener);
- stateManager.registerObserver(this);
+ stateManager.addListener(roomStateChangeListener);
currentMap = stateManager.getMapRecipe();
if(currentMap != null) {
updateDisplay(currentMap);
@@ -124,7 +122,7 @@
public void onDestroy() {
super.onDestroy();
mapPreviewHandler.stop();
- stateManager.unregisterObserver(this);
+ stateManager.removeListener(roomStateChangeListener);
}
private void setChiefState(boolean chiefState) {
@@ -207,27 +205,27 @@
}
};
- public void onChiefStatusChanged(boolean isChief) {
- setChiefState(isChief);
- }
-
- public void onMapChanged(MapRecipe recipe) {
- if(currentMap==null
- || currentMap.mapgen != recipe.mapgen
- || currentMap.mazeSize != recipe.mazeSize
- || !currentMap.name.equals(recipe.name)
- || !currentMap.seed.equals(recipe.seed)
- || currentMap.templateFilter != recipe.templateFilter
- || !Arrays.equals(currentMap.getDrawData(), recipe.getDrawData())) {
- mapPreviewHandler.activity();
- }
- updateDisplay(recipe);
- currentMap = recipe;
- }
-
- public void onGameStyleChanged(String gameStyle) { }
- public void onSchemeChanged(Scheme scheme) { }
- public void onWeaponsetChanged(Weaponset weaponset) { }
+ private final RoomStateManager.Listener roomStateChangeListener = new RoomStateManager.ListenerAdapter() {
+ @Override
+ public void onChiefStatusChanged(boolean isChief) {
+ setChiefState(isChief);
+ };
+
+ @Override
+ public void onMapChanged(MapRecipe recipe) {
+ if(currentMap==null
+ || currentMap.mapgen != recipe.mapgen
+ || currentMap.mazeSize != recipe.mazeSize
+ || !currentMap.name.equals(recipe.name)
+ || !currentMap.seed.equals(recipe.seed)
+ || currentMap.templateFilter != recipe.templateFilter
+ || !Arrays.equals(currentMap.getDrawData(), recipe.getDrawData())) {
+ mapPreviewHandler.activity();
+ }
+ updateDisplay(recipe);
+ currentMap = recipe;
+ };
+ };
private MapPreviewGenerator.Listener mapPreviewListener = new MapPreviewGenerator.Listener() {
public void onMapPreviewResult(Drawable preview) {