project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/StartGameActivity.java
branchhedgeroid
changeset 7855 ddcdedd3330b
parent 6724 03cd33624284
child 6842 2e6391f33204
equal deleted inserted replaced
6350:41b0a9955c47 7855:ddcdedd3330b
     1 /*
     1 /*
     2  * Hedgewars for Android. An Android port of Hedgewars, a free turn based strategy game
     2  * Hedgewars for Android. An Android port of Hedgewars, a free turn based strategy game
     3  * Copyright (c) 2011 Richard Deurwaarder <xeli@xelification.com>
     3  * Copyright (c) 2011-2012 Richard Deurwaarder <xeli@xelification.com>
     4  *
     4  *
     5  * This program is free software; you can redistribute it and/or modify
     5  * This program is free software; you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation; version 2 of the License
     7  * the Free Software Foundation; version 2 of the License
     8  *
     8  *
    17  */
    17  */
    18 
    18 
    19 
    19 
    20 package org.hedgewars.hedgeroid;
    20 package org.hedgewars.hedgeroid;
    21 
    21 
    22 import org.hedgewars.hedgeroid.EngineProtocol.FrontendDataUtils;
    22 import org.hedgewars.hedgeroid.Datastructures.FrontendDataUtils;
       
    23 import org.hedgewars.hedgeroid.Datastructures.Map;
       
    24 import org.hedgewars.hedgeroid.Datastructures.Map.MapType;
       
    25 import org.hedgewars.hedgeroid.Datastructures.Scheme;
       
    26 import org.hedgewars.hedgeroid.Datastructures.Team;
       
    27 import org.hedgewars.hedgeroid.Datastructures.Weapon;
    23 import org.hedgewars.hedgeroid.EngineProtocol.GameConfig;
    28 import org.hedgewars.hedgeroid.EngineProtocol.GameConfig;
    24 import org.hedgewars.hedgeroid.EngineProtocol.Map;
       
    25 import org.hedgewars.hedgeroid.EngineProtocol.Scheme;
       
    26 import org.hedgewars.hedgeroid.EngineProtocol.Team;
       
    27 import org.hedgewars.hedgeroid.EngineProtocol.Weapon;
       
    28 
    29 
    29 import android.app.Activity;
    30 import android.app.Activity;
    30 import android.content.Intent;
    31 import android.content.Intent;
    31 import android.content.SharedPreferences;
    32 import android.content.SharedPreferences;
    32 import android.graphics.drawable.Drawable;
    33 import android.graphics.drawable.Drawable;
    53 	private ImageView themeIcon, mapPreview, teamCount;
    54 	private ImageView themeIcon, mapPreview, teamCount;
    54 
    55 
    55 	public void onCreate(Bundle savedInstanceState){
    56 	public void onCreate(Bundle savedInstanceState){
    56 		super.onCreate(savedInstanceState);
    57 		super.onCreate(savedInstanceState);
    57 
    58 
    58 		SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
       
    59 		boolean firstTime = sharedPref.getBoolean("firstTime", true);
       
    60 		//Copy all the xml files to the device TODO only do first time launch of the app...
       
    61 		if(firstTime){
       
    62 			sharedPref.edit().putBoolean("firstTime", false).commit();
       
    63 			
       
    64 			Utils.resRawToFilesDir(this,R.array.schemes, Scheme.DIRECTORY_SCHEME);
       
    65 			Utils.resRawToFilesDir(this, R.array.weapons, Weapon.DIRECTORY_WEAPON);
       
    66 			Utils.resRawToFilesDir(this, R.array.teams, Team.DIRECTORY_TEAMS);
       
    67 		}
       
    68 
       
    69 		Scheme.parseBasicFlags(this);
    59 		Scheme.parseBasicFlags(this);
    70 		config = new GameConfig();
    60 		config = new GameConfig();
    71 
    61 
    72 		setContentView(R.layout.starting_game);
    62 		setContentView(R.layout.starting_game);
    73 
    63 
    91 
    81 
    92 		ArrayAdapter<?> adapter = new ArrayAdapter<Map>(this, R.layout.listview_item, FrontendDataUtils.getMaps(this));
    82 		ArrayAdapter<?> adapter = new ArrayAdapter<Map>(this, R.layout.listview_item, FrontendDataUtils.getMaps(this));
    93 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    83 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    94 		maps.setAdapter(adapter);
    84 		maps.setAdapter(adapter);
    95 		maps.setOnItemSelectedListener(mapsClicker);
    85 		maps.setOnItemSelectedListener(mapsClicker);
       
    86 		//set to first nonmap
       
    87 		for(int i = 0; i < adapter.getCount(); i++){
       
    88 			if(((Map)adapter.getItem(i)).getType() == MapType.TYPE_DEFAULT){
       
    89 				maps.setSelection(i, false);
       
    90 				break;
       
    91 			}
       
    92 		}
    96 
    93 
    97 		adapter = new ArrayAdapter<String>(this, R.layout.listview_item, FrontendDataUtils.getGameplay(this));
    94 		adapter = new ArrayAdapter<String>(this, R.layout.listview_item, FrontendDataUtils.getGameplay(this));
    98 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    95 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    99 		gameplay.setAdapter(adapter);
    96 		gameplay.setAdapter(adapter);
   100 		gameplay.setOnItemSelectedListener(gameplayClicker);
    97 		gameplay.setOnItemSelectedListener(gameplayClicker);
       
    98 		//set to first nonmap
       
    99 		for(int i = 0; i < adapter.getCount(); i++){
       
   100 			if(((String)adapter.getItem(i)).equals("None")){
       
   101 				gameplay.setSelection(i, false);
       
   102 				break;
       
   103 			}
       
   104 		}
   101 
   105 
   102 		adapter = new ArrayAdapter<Scheme>(this, R.layout.listview_item, FrontendDataUtils.getSchemes(this));
   106 		adapter = new ArrayAdapter<Scheme>(this, R.layout.listview_item, FrontendDataUtils.getSchemes(this));
   103 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   107 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   104 		gamescheme.setAdapter(adapter);
   108 		gamescheme.setAdapter(adapter);
   105 		gamescheme.setOnItemSelectedListener(schemeClicker);
   109 		gamescheme.setOnItemSelectedListener(schemeClicker);
   106 
   110 		//set to first nonmap
       
   111 		for(int i = 0; i < adapter.getCount(); i++){
       
   112 			if(((Scheme)adapter.getItem(i)).toString().equals("Default")){
       
   113 				gamescheme.setSelection(i, false);
       
   114 				break;
       
   115 			}
       
   116 		}
       
   117 		
       
   118 		
   107 		adapter = new ArrayAdapter<Weapon>(this, R.layout.listview_item, FrontendDataUtils.getWeapons(this));
   119 		adapter = new ArrayAdapter<Weapon>(this, R.layout.listview_item, FrontendDataUtils.getWeapons(this));
   108 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   120 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   109 		weapons.setAdapter(adapter);
   121 		weapons.setAdapter(adapter);
   110 		weapons.setOnItemSelectedListener(weaponClicker);
   122 		weapons.setOnItemSelectedListener(weaponClicker);
   111 
   123 		for(int i = 0; i < adapter.getCount(); i++){
       
   124 			if(((Weapon)adapter.getItem(i)).toString().equals("Crazy")){
       
   125 				weapons.setSelection(i, false);
       
   126 				break;
       
   127 			}
       
   128 		}
   112 		adapter = new ArrayAdapter<String>(this, R.layout.listview_item, FrontendDataUtils.getThemes(this));
   129 		adapter = new ArrayAdapter<String>(this, R.layout.listview_item, FrontendDataUtils.getThemes(this));
   113 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   130 		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   114 		themes.setAdapter(adapter);
   131 		themes.setAdapter(adapter);
   115 		themes.setOnItemSelectedListener(themesClicker);
   132 		themes.setOnItemSelectedListener(themesClicker);
   116 
       
   117 	}
   133 	}
   118 
   134 
   119 	private void startTeamsActivity(){
   135 	private void startTeamsActivity(){
   120 		Intent i = new Intent(StartGameActivity.this, TeamSelectionActivity.class);
   136 		Intent i = new Intent(StartGameActivity.this, TeamSelectionActivity.class);
   121 		i.putParcelableArrayListExtra("teams", config.teams);
   137 		i.putParcelableArrayListExtra("teams", config.teams);