Guest User

Untitled

a guest
Feb 5th, 2015
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.96 KB | None | 0 0
  1. package com.horizon.game.tiles;
  2.  
  3. import com.horizon.game.gfx.Render;
  4. import com.horizon.game.level.Level;
  5.  
  6. public class BasicTile extends Tile {
  7.  
  8. protected int tileID;
  9. protected int id;
  10. protected int tileX;
  11. protected int tileY;
  12. protected String sheet;
  13. public BasicTile(int ID, int x,int y, String sheet, boolean isSolid, boolean isLiquid,
  14. boolean isEmmiter, String name, int baseColour, String description) {
  15. super(ID, isSolid, isLiquid, isEmmiter, name, baseColour, description);
  16. this.tileX = x;
  17. this.tileY = y;
  18. this.id = ID;
  19. this.tileID = x + y ;
  20. this.sheet = sheet;
  21. }
  22.  
  23. @Override
  24. public void render(int x, int y,Render render,double scale,Level level,int tileXa, int tileYa,int data,int vue) {
  25. if(id==0){
  26. return;
  27. }
  28. if(id==Tile.SAND_1.getID()&&data!=1||id==Tile.SAND_2.getID()&&data!=1){
  29. prosessSand( level, tileXa, tileYa,data, vue);
  30. prosessWater( level, tileXa, tileYa,data, vue);
  31. }else{
  32. render.renderTile(x, y, tileX, tileY, sheet,scale);
  33. }
  34.  
  35.  
  36.  
  37. }
  38. private void prosessSand(Level level,int tileXa, int tileYa,int data,int vue){
  39. boolean u = level.map.getTile(tileXa, tileYa - 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  40. boolean d = level.map.getTile(tileXa, tileYa + 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  41. boolean l = level.map.getTile(tileXa - 1, tileYa, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  42. boolean r = level.map.getTile(tileXa + 1, tileYa, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  43.  
  44. boolean ur = level.map.getTile(tileXa + 1,tileYa - 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  45. boolean ul = level.map.getTile(tileXa - 1, tileYa - 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  46. boolean dr = level.map.getTile(tileXa + 1, tileYa + 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  47. boolean dl = level.map.getTile(tileXa - 1, tileYa + 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
  48. if (d && !u && !l && !r) {
  49. if (tileXa % 2 == 0) {
  50. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  51. level.map.setTileData(tileXa, tileYa, 1, vue);
  52. } else {
  53. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  54. level.map.setTileData(tileXa, tileYa, 2, vue);
  55. }
  56. } else if (!d && u && l && !r) {
  57. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  58. level.map.setTileData(tileXa, tileYa, 5, vue);
  59. } else if (!d && u && !l && r) {
  60. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  61. level.map.setTileData(tileXa, tileYa, 6, vue);
  62. } else if (!d && u && !l && !r) {
  63. if (tileXa % 2 == 0) {
  64. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  65. level.map.setTileData(tileXa, tileYa, 13, vue);
  66. } else {
  67. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  68. level.map.setTileData(tileXa, tileYa, 14, vue);
  69. }
  70. } else if (!d && !u && l && !r) {
  71. if (tileYa % 2 == 0) {
  72. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  73. level.map.setTileData(tileXa, tileYa, 7, vue);
  74. } else {
  75. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  76. level.map.setTileData(tileXa, tileYa, 11, vue);
  77. }
  78. } else if (!d && !u && !l && r) {
  79. if (tileYa % 2 == 0) {
  80. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  81. level.map.setTileData(tileXa, tileYa, 4, vue);
  82. } else {
  83. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  84. level.map.setTileData(tileXa, tileYa, 8, vue);
  85. }
  86. } else if (d && !u && l && !r) {
  87. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  88. level.map.setTileData(tileXa, tileYa, 9, vue);
  89. } else if (d && !u && !l && r) {
  90. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  91. level.map.setTileData(tileXa, tileYa, 10, vue);
  92. }else if(ur){
  93. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  94. level.map.setTileData(tileXa, tileYa, 12, vue);
  95. }else if(ul){
  96. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  97. level.map.setTileData(tileXa, tileYa, 15, vue);
  98. }else if(dr){
  99. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  100. level.map.setTileData(tileXa, tileYa, 0, vue);
  101. }else if(dl){
  102. level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
  103. level.map.setTileData(tileXa, tileYa, 3, vue);
  104. } else {
  105. level.map.setTileData(tileXa, tileYa, 1, vue);
  106. }
  107. }
  108.  
  109.  
  110. private void prosessWater(Level level,int tileXa, int tileYa,int data,int vue){
  111. boolean u = level.map.getTile(tileXa, tileYa - 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  112. boolean d = level.map.getTile(tileXa, tileYa + 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  113. boolean l = level.map.getTile(tileXa - 1, tileYa, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  114. boolean r = level.map.getTile(tileXa + 1, tileYa, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  115.  
  116. boolean ur = level.map.getTile(tileXa + 1,tileYa - 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  117. boolean ul = level.map.getTile(tileXa - 1, tileYa - 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  118. boolean dr = level.map.getTile(tileXa + 1, tileYa + 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  119. boolean dl = level.map.getTile(tileXa - 1, tileYa + 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
  120. if (d && !u && !l && !r) {
  121. if (tileXa % 2 == 0) {
  122. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  123. level.map.setTileData(tileXa, tileYa, 1, vue);
  124. } else {
  125. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  126. level.map.setTileData(tileXa, tileYa, 2, vue);
  127. }
  128. } else if (!d && u && l && !r) {
  129. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  130. level.map.setTileData(tileXa, tileYa, 5, vue);
  131. } else if (!d && u && !l && r) {
  132. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  133. level.map.setTileData(tileXa, tileYa, 6, vue);
  134. } else if (!d && u && !l && !r) {
  135. if (tileXa % 2 == 0) {
  136. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  137. level.map.setTileData(tileXa, tileYa, 13, vue);
  138. } else {
  139. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  140. level.map.setTileData(tileXa, tileYa, 14, vue);
  141. }
  142. } else if (!d && !u && l && !r) {
  143. if (tileYa % 2 == 0) {
  144. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  145. level.map.setTileData(tileXa, tileYa, 7, vue);
  146. } else {
  147. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  148. level.map.setTileData(tileXa, tileYa, 11, vue);
  149. }
  150. } else if (!d && !u && !l && r) {
  151. if (tileYa % 2 == 0) {
  152. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  153. level.map.setTileData(tileXa, tileYa, 4, vue);
  154. } else {
  155. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  156. level.map.setTileData(tileXa, tileYa, 8, vue);
  157. }
  158. } else if (d && !u && l && !r) {
  159. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  160. level.map.setTileData(tileXa, tileYa, 9, vue);
  161. } else if (d && !u && !l && r) {
  162. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  163. level.map.setTileData(tileXa, tileYa, 10, vue);
  164. }else if(ur){
  165. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  166. level.map.setTileData(tileXa, tileYa, 12, vue);
  167. }else if(ul){
  168. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  169. level.map.setTileData(tileXa, tileYa, 15, vue);
  170. }else if(dr){
  171. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  172. level.map.setTileData(tileXa, tileYa, 0, vue);
  173. }else if(dl){
  174. level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
  175. level.map.setTileData(tileXa, tileYa, 3, vue);
  176. }
  177. }
  178.  
  179. }
Advertisement
Add Comment
Please, Sign In to add comment