project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/MapFragment.java
equal
deleted
inserted
replaced
48 * being generated, we store our latest request in the newPreviewRequest variable instead. |
48 * being generated, we store our latest request in the newPreviewRequest variable instead. |
49 * Once the current preview is finished generating it will start on that one. |
49 * Once the current preview is finished generating it will start on that one. |
50 */ |
50 */ |
51 private boolean previewGenerationInProgress; |
51 private boolean previewGenerationInProgress; |
52 private MapRecipe newPreviewRequest; |
52 private MapRecipe newPreviewRequest; |
|
53 private MapRecipe currentMap; // kept for reference on every change to find out what changed |
53 |
54 |
54 @Override |
55 @Override |
55 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { |
56 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { |
56 View v = inflater.inflate(R.layout.fragment_map, container, false); |
57 View v = inflater.inflate(R.layout.fragment_map, container, false); |
57 |
58 |
88 mapNameSpinner = prepareSpinner(v, R.id.spinMapName, mapNames, mapNameSelectedListener); |
89 mapNameSpinner = prepareSpinner(v, R.id.spinMapName, mapNames, mapNameSelectedListener); |
89 templateSpinner = prepareSpinner(v, R.id.spinTemplateFilter, Arrays.asList(getResources().getStringArray(R.array.map_templates)), mapTemplateSelectedListener); |
90 templateSpinner = prepareSpinner(v, R.id.spinTemplateFilter, Arrays.asList(getResources().getStringArray(R.array.map_templates)), mapTemplateSelectedListener); |
90 mazeSizeSpinner = prepareSpinner(v, R.id.spinMazeSize, Arrays.asList(getResources().getStringArray(R.array.map_maze_sizes)), mazeSizeSelectedListener); |
91 mazeSizeSpinner = prepareSpinner(v, R.id.spinMazeSize, Arrays.asList(getResources().getStringArray(R.array.map_maze_sizes)), mazeSizeSelectedListener); |
91 |
92 |
92 stateManager.registerObserver(this); |
93 stateManager.registerObserver(this); |
93 MapRecipe map = stateManager.getMapRecipe(); |
94 currentMap = stateManager.getMapRecipe(); |
94 if(map != null) { |
95 if(currentMap != null) { |
95 updateDisplay(map); |
96 updateDisplay(currentMap); |
96 } |
97 } |
97 setChiefState(stateManager.getChiefStatus()); |
98 setChiefState(stateManager.getChiefStatus()); |
98 mapPreviewHandler.activity(); |
99 mapPreviewHandler.activity(); |
99 return v; |
100 return v; |
100 } |
101 } |
216 public void onChiefStatusChanged(boolean isChief) { |
217 public void onChiefStatusChanged(boolean isChief) { |
217 setChiefState(isChief); |
218 setChiefState(isChief); |
218 } |
219 } |
219 |
220 |
220 public void onMapChanged(MapRecipe recipe) { |
221 public void onMapChanged(MapRecipe recipe) { |
|
222 if(currentMap==null |
|
223 || currentMap.mapgen != recipe.mapgen |
|
224 || currentMap.mazeSize != recipe.mazeSize |
|
225 || !currentMap.name.equals(recipe.name) |
|
226 || !currentMap.seed.equals(recipe.seed) |
|
227 || currentMap.templateFilter != recipe.templateFilter |
|
228 || !Arrays.equals(currentMap.getDrawData(), recipe.getDrawData())) { |
|
229 mapPreviewHandler.activity(); |
|
230 } |
221 updateDisplay(recipe); |
231 updateDisplay(recipe); |
222 mapPreviewHandler.activity(); |
232 currentMap = recipe; |
223 } |
233 } |
224 |
234 |
225 public void onGameStyleChanged(String gameStyle) { } |
235 public void onGameStyleChanged(String gameStyle) { } |
226 public void onSchemeChanged(Scheme scheme) { } |
236 public void onSchemeChanged(Scheme scheme) { } |
227 public void onWeaponsetChanged(Weaponset weaponset) { } |
237 public void onWeaponsetChanged(Weaponset weaponset) { } |