project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/MapFragment.java
changeset 7582 714310efad8f
parent 7572 4e223b05be7c
child 7584 7831c84cc644
--- 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) {