/TheElements/src/sand/falling/opengl/custom/CustomMaker.java

http://thelements.googlecode.com/ · Java · 819 lines · 729 code · 63 blank · 27 comment · 198 complexity · 58eb3055fa69decc00395837199653a5 MD5 · raw file

  1. package sand.falling.opengl.custom;
  2. import java.io.DataInputStream;
  3. import java.io.DataOutputStream;
  4. import java.io.EOFException;
  5. import java.io.File;
  6. import java.io.FileInputStream;
  7. import java.io.FileOutputStream;
  8. import java.io.IOException;
  9. import sand.falling.opengl.MainActivity;
  10. import sand.falling.opengl.R;
  11. import android.app.Activity;
  12. import android.os.Bundle;
  13. import android.view.View;
  14. import android.widget.AdapterView;
  15. import android.widget.ArrayAdapter;
  16. import android.widget.SeekBar;
  17. import android.widget.Spinner;
  18. import android.widget.AdapterView.OnItemSelectedListener;
  19. public class CustomMaker extends Activity
  20. {
  21. private static final int TSpinner = 20;
  22. private static final int TSeekBar = 5;
  23. ArrayAdapter<CharSequence> sandcoladp = null;
  24. ArrayAdapter<CharSequence> adapter = null;
  25. Spinner sandcollis = null;
  26. Spinner watercollis = null;
  27. Spinner wallcollis = null;
  28. Spinner plantcollis = null;
  29. Spinner firecollis = null;
  30. Spinner oilcollis = null;
  31. Spinner icecollis = null;
  32. Spinner magmacollis = null;
  33. Spinner stonecollis = null;
  34. Spinner C4collis = null;
  35. Spinner C4pluscollis = null;
  36. Spinner fusecollis = null;
  37. Spinner destwallcollis = null;
  38. Spinner acidcollis = null;
  39. Spinner steamcollis = null;
  40. Spinner saltcollis = null;
  41. Spinner saltwatercollis = null;
  42. Spinner glasscollis = null;
  43. Spinner mudcollis = null;
  44. Spinner customelecollis = null;
  45. private SeekBar explo_slider;
  46. private SeekBar red_1_slider;
  47. private SeekBar blue_1_slider;
  48. private SeekBar green_1_slider;
  49. private SeekBar density_slider;
  50. //private int[] incustom = new int[TSpinner + TSeekBar];
  51. int[] inFile = new int[TSpinner + TSeekBar];
  52. @Override
  53. public void onCreate(Bundle savedInstanceState)
  54. {
  55. FileInputStream fis;
  56. DataInputStream dis;
  57. try
  58. {
  59. File file = new File("/sdcard/elementworks/customproperties.txt");
  60. if(!file.exists())
  61. {
  62. file.createNewFile();
  63. }
  64. fis = new FileInputStream(file);
  65. dis = new DataInputStream(fis);
  66. for (int i = 0; i < (TSpinner + TSeekBar); ++i)
  67. {
  68. try
  69. {
  70. inFile[i] = dis.readInt();
  71. }
  72. catch (EOFException e)
  73. {
  74. e.printStackTrace();
  75. inFile[i] = 0;
  76. }
  77. }
  78. }
  79. catch (IOException e)
  80. {
  81. if(!(new File("/sdcard/elementworks")).mkdir())
  82. {
  83. e.printStackTrace();
  84. }
  85. for (int i = 0; i < (TSpinner + TSeekBar); ++i)
  86. {
  87. inFile[i] = 0;
  88. }
  89. }
  90. super.onCreate(savedInstanceState);
  91. setContentView(R.layout.custom);
  92. explo_slider = (SeekBar) findViewById(R.id.explo_slider);
  93. red_1_slider = (SeekBar) findViewById(R.id.red_1_slider);
  94. blue_1_slider = (SeekBar) findViewById(R.id.blue_1_slider);
  95. green_1_slider = (SeekBar) findViewById(R.id.green_1_slider);
  96. density_slider = (SeekBar) findViewById(R.id.density_slider);
  97. // set up the Spinners
  98. sandcollis = (Spinner) findViewById(R.id.sandcol);
  99. sandcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  100. sandcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  101. sandcollis.setAdapter(sandcoladp);
  102. sandcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  103. sandcollis.setSelection(inFile[5]);
  104. watercollis = (Spinner) findViewById(R.id.watercol);
  105. ArrayAdapter<CharSequence> watercoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  106. watercoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  107. watercollis.setAdapter(watercoladp);
  108. watercollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  109. watercollis.setSelection(inFile[6]);
  110. wallcollis = (Spinner) findViewById(R.id.wallcol);
  111. ArrayAdapter<CharSequence> wallcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  112. wallcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  113. wallcollis.setAdapter(wallcoladp);
  114. wallcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  115. wallcollis.setSelection(inFile[7]);
  116. plantcollis = (Spinner) findViewById(R.id.plantcol);
  117. ArrayAdapter<CharSequence> plantcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  118. plantcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  119. plantcollis.setAdapter(plantcoladp);
  120. plantcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  121. plantcollis.setSelection(inFile[8]);
  122. firecollis = (Spinner) findViewById(R.id.firecol);
  123. ArrayAdapter<CharSequence> firecoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  124. firecoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  125. firecollis.setAdapter(firecoladp);
  126. firecollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  127. firecollis.setSelection(inFile[9]);
  128. icecollis = (Spinner) findViewById(R.id.icecol);
  129. ArrayAdapter<CharSequence> icecoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  130. icecoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  131. icecollis.setAdapter(icecoladp);
  132. icecollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  133. icecollis.setSelection(inFile[10]);
  134. oilcollis = (Spinner) findViewById(R.id.oilcol);
  135. ArrayAdapter<CharSequence> oilcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  136. oilcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  137. oilcollis.setAdapter(oilcoladp);
  138. oilcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  139. oilcollis.setSelection(inFile[11]);
  140. magmacollis = (Spinner) findViewById(R.id.magmacol);
  141. ArrayAdapter<CharSequence> magmacoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  142. magmacoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  143. magmacollis.setAdapter(magmacoladp);
  144. magmacollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  145. magmacollis.setSelection(inFile[12]);
  146. stonecollis = (Spinner) findViewById(R.id.stonecol);
  147. ArrayAdapter<CharSequence> stonecoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  148. stonecoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  149. stonecollis.setAdapter(stonecoladp);
  150. stonecollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  151. stonecollis.setSelection(inFile[13]);
  152. C4collis = (Spinner) findViewById(R.id.C4col);
  153. ArrayAdapter<CharSequence> C4coladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  154. C4coladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  155. C4collis.setAdapter(C4coladp);
  156. C4collis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  157. C4collis.setSelection(inFile[14]);
  158. C4pluscollis = (Spinner) findViewById(R.id.C4pluscol);
  159. ArrayAdapter<CharSequence> C4pluscoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  160. C4pluscoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  161. C4pluscollis.setAdapter(C4pluscoladp);
  162. C4pluscollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  163. C4pluscollis.setSelection(inFile[15]);
  164. fusecollis = (Spinner) findViewById(R.id.fusecol);
  165. ArrayAdapter<CharSequence> fusecoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  166. fusecoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  167. fusecollis.setAdapter(fusecoladp);
  168. fusecollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  169. fusecollis.setSelection(inFile[16]);
  170. destwallcollis = (Spinner) findViewById(R.id.destructablewallcol);
  171. ArrayAdapter<CharSequence> destwallcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  172. destwallcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  173. destwallcollis.setAdapter(destwallcoladp);
  174. destwallcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  175. destwallcollis.setSelection(inFile[17]);
  176. acidcollis = (Spinner) findViewById(R.id.acidcol);
  177. ArrayAdapter<CharSequence> acidcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  178. acidcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  179. acidcollis.setAdapter(acidcoladp);
  180. acidcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  181. acidcollis.setSelection(inFile[18]);
  182. steamcollis = (Spinner) findViewById(R.id.steamcol);
  183. ArrayAdapter<CharSequence> steamcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  184. steamcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  185. steamcollis.setAdapter(steamcoladp);
  186. steamcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  187. steamcollis.setSelection(inFile[19]);
  188. saltcollis = (Spinner) findViewById(R.id.saltcol);
  189. ArrayAdapter<CharSequence> saltcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  190. saltcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  191. saltcollis.setAdapter(saltcoladp);
  192. saltcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  193. saltcollis.setSelection(inFile[20]);
  194. saltwatercollis = (Spinner) findViewById(R.id.saltwatercol);
  195. ArrayAdapter<CharSequence> saltwatercoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  196. saltwatercoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  197. saltwatercollis.setAdapter(saltwatercoladp);
  198. saltwatercollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  199. saltwatercollis.setSelection(inFile[21]);
  200. glasscollis = (Spinner) findViewById(R.id.glasscol);
  201. ArrayAdapter<CharSequence> glasscoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  202. glasscoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  203. glasscollis.setAdapter(glasscoladp);
  204. glasscollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  205. glasscollis.setSelection(inFile[22]);
  206. customelecollis = (Spinner) findViewById(R.id.customelecol);
  207. ArrayAdapter<CharSequence> customelecoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  208. customelecoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  209. customelecollis.setAdapter(customelecoladp);
  210. customelecollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  211. customelecollis.setSelection(inFile[23]);
  212. mudcollis = (Spinner) findViewById(R.id.mudcol);
  213. ArrayAdapter<CharSequence> mudcoladp = ArrayAdapter.createFromResource(this, R.array.reaction_array, android.R.layout.simple_spinner_item);
  214. mudcoladp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  215. mudcollis.setAdapter(mudcoladp);
  216. mudcollis.setOnItemSelectedListener(new MyOnItemSelectedListener());
  217. mudcollis.setSelection(inFile[24]);
  218. explo_slider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
  219. {
  220. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromTouch)
  221. {
  222. // When it is dragged, set the explosion value to 100 * the fraction of the bar dragged
  223. int p = 100 * progress / seekbar.getMax();
  224. MainActivity.setExplosiveness(p);
  225. inFile[0] = progress;
  226. savecustomdata();
  227. }
  228. // These aren't needed for now
  229. public void onStartTrackingTouch(SeekBar seekbar)
  230. {
  231. }
  232. public void onStopTrackingTouch(SeekBar seekbar)
  233. {
  234. }
  235. });
  236. // Start off the progress bar at the value in the file
  237. explo_slider.setProgress(inFile[0]);
  238. red_1_slider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
  239. {
  240. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromTouch)
  241. {
  242. // When it is dragged, set the red value to 255 * the fraction of the bar dragged
  243. int p = 255 * progress / seekbar.getMax();
  244. MainActivity.setRed(p);
  245. inFile[1] = progress;
  246. savecustomdata();
  247. }
  248. // These aren't needed for now
  249. public void onStartTrackingTouch(SeekBar seekbar)
  250. {
  251. }
  252. public void onStopTrackingTouch(SeekBar seekbar)
  253. {
  254. }
  255. });
  256. // Start off the progress bar at the saved value
  257. red_1_slider.setProgress(inFile[1]);
  258. green_1_slider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
  259. {
  260. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromTouch)
  261. {
  262. // When it is dragged, set the green value to 255 * the fraction of the bar dragged
  263. int p = 255 * progress / seekbar.getMax();
  264. MainActivity.setGreen(p);
  265. inFile[2] = progress;
  266. savecustomdata();
  267. }
  268. // These aren't needed for now
  269. public void onStartTrackingTouch(SeekBar seekbar)
  270. {
  271. }
  272. public void onStopTrackingTouch(SeekBar seekbar)
  273. {
  274. }
  275. });
  276. // Start off the progress bar at the value in the file
  277. green_1_slider.setProgress(inFile[2]);
  278. blue_1_slider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
  279. {
  280. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromTouch)
  281. {
  282. // When it is dragged, set the blue value to 255 * the fraction of the bar dragged
  283. int p = 255 * progress / seekbar.getMax();
  284. MainActivity.setBlue(p);
  285. inFile[3] = progress;
  286. savecustomdata();
  287. }
  288. // These aren't needed for now
  289. public void onStartTrackingTouch(SeekBar seekbar)
  290. {
  291. }
  292. public void onStopTrackingTouch(SeekBar seekbar)
  293. {
  294. }
  295. });
  296. // Start off the progress bar at the value in the file
  297. blue_1_slider.setProgress(inFile[3]);
  298. density_slider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
  299. {
  300. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromTouch)
  301. {
  302. // When it is dragged, set the blue value to 255 * the fraction of the bar dragged
  303. int p = 100 * progress / seekbar.getMax();
  304. MainActivity.setDensity(p);
  305. inFile[4] = progress;
  306. savecustomdata();
  307. }
  308. // These aren't needed for now
  309. public void onStartTrackingTouch(SeekBar seekbar)
  310. {
  311. }
  312. public void onStopTrackingTouch(SeekBar seekbar)
  313. {
  314. }
  315. });
  316. // Start off the progress bar at the value in the file
  317. density_slider.setProgress(inFile[4]);
  318. }
  319. public class MyOnItemSelectedListener implements OnItemSelectedListener
  320. {
  321. public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
  322. {
  323. int ffileindex = 5; // temp var, initialized to 5 to start b.c
  324. // that's where the first collis is in array
  325. int rfileindex = 0; // one we'll actually use
  326. // pos starts at 0
  327. if (parent.equals(sandcollis))
  328. {
  329. rfileindex = ffileindex;
  330. collisioner(0, pos);
  331. }
  332. ffileindex++;
  333. if (parent.equals(watercollis))
  334. {
  335. rfileindex = ffileindex;
  336. collisioner(1, pos);
  337. }
  338. ffileindex++;
  339. if (parent.equals(wallcollis))
  340. {
  341. rfileindex = ffileindex;
  342. collisioner(2, pos);
  343. }
  344. ffileindex++;
  345. if (parent.equals(plantcollis))
  346. {
  347. rfileindex = ffileindex;
  348. collisioner(4, pos);
  349. }
  350. ffileindex++;
  351. if (parent.equals(firecollis))
  352. {
  353. rfileindex = ffileindex;
  354. collisioner(5, pos);
  355. }
  356. ffileindex++;
  357. if (parent.equals(icecollis))
  358. {
  359. rfileindex = ffileindex;
  360. collisioner(6, pos);
  361. }
  362. ffileindex++;
  363. if (parent.equals(oilcollis))
  364. {
  365. rfileindex = ffileindex;
  366. collisioner(9, pos);
  367. }
  368. ffileindex++;
  369. if (parent.equals(magmacollis))
  370. {
  371. rfileindex = ffileindex;
  372. collisioner(10, pos);
  373. }
  374. ffileindex++;
  375. if (parent.equals(stonecollis))
  376. {
  377. rfileindex = ffileindex;
  378. collisioner(11, pos);
  379. }
  380. ffileindex++;
  381. if (parent.equals(C4collis))
  382. {
  383. rfileindex = ffileindex;
  384. collisioner(12, pos);
  385. }
  386. ffileindex++;
  387. if (parent.equals(C4pluscollis))
  388. {
  389. rfileindex = ffileindex;
  390. collisioner(13, pos);
  391. }
  392. ffileindex++;
  393. if (parent.equals(fusecollis))
  394. {
  395. rfileindex = ffileindex;
  396. collisioner(14, pos);
  397. }
  398. ffileindex++;
  399. if (parent.equals(destwallcollis))
  400. {
  401. rfileindex = ffileindex;
  402. collisioner(15, pos);
  403. }
  404. ffileindex++;
  405. if (parent.equals(acidcollis))
  406. {
  407. rfileindex = ffileindex;
  408. collisioner(17, pos);
  409. }
  410. ffileindex++;
  411. if (parent.equals(steamcollis))
  412. {
  413. rfileindex = ffileindex;
  414. collisioner(18, pos);
  415. }
  416. ffileindex++;
  417. if (parent.equals(saltcollis))
  418. {
  419. rfileindex = ffileindex;
  420. collisioner(19, pos);
  421. }
  422. ffileindex++;
  423. if (parent.equals(saltwatercollis))
  424. {
  425. rfileindex = ffileindex;
  426. collisioner(20, pos);
  427. }
  428. ffileindex++;
  429. if (parent.equals(glasscollis))
  430. {
  431. rfileindex = ffileindex;
  432. collisioner(21, pos);
  433. }
  434. ffileindex++;
  435. if (parent.equals(customelecollis))
  436. {
  437. rfileindex = ffileindex;
  438. collisioner(22, pos);
  439. }
  440. ffileindex++;
  441. if (parent.equals(mudcollis))
  442. {
  443. rfileindex = ffileindex;
  444. collisioner(23, pos);
  445. }
  446. ffileindex++;
  447. inFile[rfileindex] = pos;
  448. savecustomdata();
  449. }
  450. public void onNothingSelected(AdapterView<?> parent)
  451. {
  452. // Do nothing.
  453. }
  454. }
  455. public void savecustomdata()
  456. {
  457. // Saves the custom element properties (set by the sliders) to a file
  458. FileOutputStream fos;
  459. DataOutputStream dos;
  460. try
  461. {
  462. File file = new File("/sdcard/elementworks/customproperties.txt");
  463. if(!file.exists())
  464. {
  465. file.createNewFile();
  466. }
  467. fos = new FileOutputStream(file);
  468. dos = new DataOutputStream(fos);
  469. for (int i = 0; i < (TSpinner + TSeekBar); i++)
  470. {
  471. dos.writeInt(inFile[i]);
  472. }
  473. }
  474. catch (IOException e)
  475. {
  476. if(!(new File("/sdcard/elementworks")).mkdir())
  477. {
  478. e.printStackTrace();
  479. }
  480. }
  481. }
  482. public static void collisioner(int elent, int pos)
  483. { //TODO: change this massive thing to a switch statement
  484. // setcollision(int custnumber, int elementnumb, int collisionspot,
  485. // int collisionnumber);
  486. // which custom element, the element the custom should be like, the
  487. // element colliding with, collision type
  488. if (pos == 0)
  489. {
  490. MainActivity.setCollision(1, 0, elent, 0);
  491. }
  492. else if (pos == 1)
  493. {
  494. MainActivity.setCollision(1, 0, elent, 1);
  495. }
  496. else if (pos == 2)
  497. {
  498. MainActivity.setCollision(1, 24, elent, 1);
  499. }
  500. else if (pos == 3)
  501. {
  502. MainActivity.setCollision(1, 24, elent, 3);
  503. }
  504. else if (pos == 4)
  505. {
  506. MainActivity.setCollision(1, 1, elent, 4);
  507. }
  508. else if (pos == 5)
  509. {
  510. MainActivity.setCollision(1, 4, elent, 4);
  511. }
  512. else if (pos == 6)
  513. {
  514. MainActivity.setCollision(1, 5, elent, 5);
  515. }
  516. else if (pos == 7)
  517. {
  518. MainActivity.setCollision(1, 0, elent, 5);
  519. }
  520. else if (pos == 8)
  521. {
  522. MainActivity.setCollision(1, 5, elent, 7);
  523. }
  524. else if (pos == 9)
  525. {
  526. MainActivity.setCollision(1, 1, elent, 8);
  527. }
  528. else if (pos == 10)
  529. {
  530. MainActivity.setCollision(1, 6, elent, 8);
  531. }
  532. else if (pos == 11)
  533. {
  534. MainActivity.setCollision(1, 5, elent, 9);
  535. }
  536. else if (pos == 12)
  537. {
  538. MainActivity.setCollision(1, 6, elent, 9);
  539. }
  540. else if (pos == 13)
  541. {
  542. MainActivity.setCollision(1, 10, elent, 10);
  543. }
  544. else if (pos == 14)
  545. {
  546. MainActivity.setCollision(1, 6, elent, 10);
  547. }
  548. else if (pos == 15)
  549. {
  550. MainActivity.setCollision(1, 9, elent, 11);
  551. }
  552. else if (pos == 16)
  553. {
  554. MainActivity.setCollision(1, 10, elent, 11);
  555. }
  556. else if (pos == 17)
  557. {
  558. MainActivity.setCollision(1, 10, elent, 12);
  559. }
  560. else if (pos == 18)
  561. {
  562. MainActivity.setCollision(1, 1, elent, 12);
  563. }
  564. else if (pos == 19)
  565. {
  566. MainActivity.setCollision(1, 11, elent, 13);
  567. }
  568. else if (pos == 20)
  569. {
  570. MainActivity.setCollision(1, 10, elent, 13);
  571. }
  572. else if (pos == 21)
  573. {
  574. MainActivity.setCollision(1, 11, elent, 14);
  575. }
  576. else if (pos == 22)
  577. {
  578. MainActivity.setCollision(1, 10, elent, 15);
  579. }
  580. else if (pos == 23)
  581. {
  582. MainActivity.setCollision(1, 12, elent, 15);
  583. }
  584. else if (pos == 24)
  585. {
  586. MainActivity.setCollision(1, 10, elent, 17);
  587. }
  588. else if (pos == 25)
  589. {
  590. MainActivity.setCollision(1, 15, elent, 17);
  591. }
  592. else if (pos == 26)
  593. {
  594. MainActivity.setCollision(1, 17, elent, 18);
  595. }
  596. else if (pos == 27)
  597. {
  598. MainActivity.setCollision(1, 0, elent, 18);
  599. }
  600. else if (pos == 28)
  601. {
  602. MainActivity.setCollision(1, 17, elent, 19);
  603. }
  604. else if (pos == 29)
  605. {
  606. MainActivity.setCollision(1, 1, elent, 19);
  607. }
  608. else if (pos == 30)
  609. {
  610. MainActivity.setCollision(1, 18, elent, 20);
  611. }
  612. else if (pos == 31)
  613. {
  614. MainActivity.setCollision(1, 1, elent, 20);
  615. }
  616. else if (pos == 32)
  617. {
  618. MainActivity.setCollision(1, 18, elent, 21);
  619. }
  620. else if (pos == 33)
  621. {
  622. MainActivity.setCollision(1, 18, elent, 22);
  623. }
  624. else if (pos == 34)
  625. {
  626. MainActivity.setCollision(1, 0, elent, 22);
  627. }
  628. else if (pos == 35)
  629. {
  630. MainActivity.setCollision(1, 1, elent, 23);
  631. }
  632. else if (pos == 36)
  633. {
  634. MainActivity.setCollision(1, 5, elent, 23);
  635. }
  636. else if (pos == 37)
  637. {
  638. MainActivity.setCollision(1, 19, elent, 24);
  639. }
  640. else if (pos == 38)
  641. {
  642. MainActivity.setCollision(1, 1, elent, 24);
  643. }
  644. else if (pos == 39)
  645. {
  646. MainActivity.setCollision(1, 19, elent, 25);
  647. }
  648. else if (pos == 40)
  649. {
  650. MainActivity.setCollision(1, 6, elent, 25);
  651. }
  652. else if (pos == 41)
  653. {
  654. MainActivity.setCollision(1, 20, elent, 26);
  655. }
  656. else if (pos == 42)
  657. {
  658. MainActivity.setCollision(1, 4, elent, 26);
  659. }
  660. else if (pos == 43)
  661. {
  662. MainActivity.setCollision(1, 0, elent, 27);
  663. }
  664. else if (pos == 44)
  665. {
  666. MainActivity.setCollision(1, 10, elent, 27);
  667. }
  668. else if (pos == 45)
  669. {
  670. MainActivity.setCollision(1, 4, elent, 6);
  671. }
  672. else if (pos == 46)
  673. {
  674. MainActivity.setCollision(1, 5, elent, 6);
  675. }
  676. else if (pos == 47)
  677. {
  678. MainActivity.setCollision(1, 1, elent, 28);
  679. }
  680. else if (pos == 48)
  681. {
  682. MainActivity.setCollision(1, 0, elent, 28);
  683. }
  684. else if (pos == 49)
  685. {
  686. MainActivity.setCollision(1, 23, elent, 29);
  687. }
  688. else if (pos == 50)
  689. {
  690. MainActivity.setCollision(1, 5, elent, 29);
  691. }
  692. else if (pos == 51)
  693. {
  694. MainActivity.setCollision(1, 23, elent, 30);
  695. }
  696. else if (pos == 52)
  697. {
  698. MainActivity.setCollision(1, 10, elent, 30);
  699. }
  700. }
  701. //Call this function to initialize custom data from the file
  702. public static void loadCustom()
  703. {
  704. int inFile[] = new int[TSpinner + TSeekBar];
  705. FileInputStream fis;
  706. DataInputStream dis;
  707. try
  708. {
  709. File file = new File("/sdcard/elementworks/customproperties.txt");
  710. if(!file.exists())
  711. {
  712. file.createNewFile();
  713. }
  714. fis = new FileInputStream(file);
  715. dis = new DataInputStream(fis);
  716. for (int i = 0; i < (TSpinner + TSeekBar); ++i)
  717. {
  718. try
  719. {
  720. inFile[i] = dis.readInt();
  721. }
  722. catch (EOFException e)
  723. {
  724. e.printStackTrace();
  725. inFile[i] = 0;
  726. }
  727. }
  728. }
  729. catch (IOException e)
  730. {
  731. if(!(new File("/sdcard/elementworks")).mkdir())
  732. {
  733. e.printStackTrace();
  734. }
  735. for (int i = 0; i < (TSpinner + TSeekBar); i++)
  736. {
  737. inFile[i] = 0;
  738. }
  739. }
  740. //Loop through and set the stuff now
  741. MainActivity.setExplosiveness(inFile[0]);
  742. MainActivity.setRed(inFile[1]);
  743. MainActivity.setGreen(inFile[2]);
  744. MainActivity.setBlue(inFile[3]);
  745. MainActivity.setDensity(inFile[4]);
  746. for(int i = 0, j = 5; i < MainActivity.elementslist.length + 2; i++)
  747. {
  748. if(i == 3 || i == 7 || i == 8 || i == 16)
  749. {
  750. continue;
  751. }
  752. collisioner(i, inFile[j]);
  753. j++;
  754. }
  755. }
  756. }