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); |