Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.horizon.game.tiles;
- import com.horizon.game.gfx.Render;
- import com.horizon.game.level.Level;
- public class BasicTile extends Tile {
- protected int tileID;
- protected int id;
- protected int tileX;
- protected int tileY;
- protected String sheet;
- public BasicTile(int ID, int x,int y, String sheet, boolean isSolid, boolean isLiquid,
- boolean isEmmiter, String name, int baseColour, String description) {
- super(ID, isSolid, isLiquid, isEmmiter, name, baseColour, description);
- this.tileX = x;
- this.tileY = y;
- this.id = ID;
- this.tileID = x + y ;
- this.sheet = sheet;
- }
- @Override
- public void render(int x, int y,Render render,double scale,Level level,int tileXa, int tileYa,int data,int vue) {
- if(id==0){
- return;
- }
- if(id==Tile.SAND_1.getID()&&data!=1||id==Tile.SAND_2.getID()&&data!=1){
- prosessSand( level, tileXa, tileYa,data, vue);
- prosessWater( level, tileXa, tileYa,data, vue);
- }else{
- render.renderTile(x, y, tileX, tileY, sheet,scale);
- }
- }
- private void prosessSand(Level level,int tileXa, int tileYa,int data,int vue){
- boolean u = level.map.getTile(tileXa, tileYa - 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean d = level.map.getTile(tileXa, tileYa + 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean l = level.map.getTile(tileXa - 1, tileYa, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean r = level.map.getTile(tileXa + 1, tileYa, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean ur = level.map.getTile(tileXa + 1,tileYa - 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean ul = level.map.getTile(tileXa - 1, tileYa - 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean dr = level.map.getTile(tileXa + 1, tileYa + 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- boolean dl = level.map.getTile(tileXa - 1, tileYa + 1, 1).connectsToBlock(Tile.GRASS_1.getID(),Tile.GRASS_2.getID());
- if (d && !u && !l && !r) {
- if (tileXa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 1, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 2, vue);
- }
- } else if (!d && u && l && !r) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 5, vue);
- } else if (!d && u && !l && r) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 6, vue);
- } else if (!d && u && !l && !r) {
- if (tileXa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 13, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 14, vue);
- }
- } else if (!d && !u && l && !r) {
- if (tileYa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 7, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 11, vue);
- }
- } else if (!d && !u && !l && r) {
- if (tileYa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 4, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 8, vue);
- }
- } else if (d && !u && l && !r) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 9, vue);
- } else if (d && !u && !l && r) {
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 10, vue);
- }else if(ur){
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 12, vue);
- }else if(ul){
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 15, vue);
- }else if(dr){
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 0, vue);
- }else if(dl){
- level.map.setTile(tileXa, tileYa, Tile.SAND_GRASS.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 3, vue);
- } else {
- level.map.setTileData(tileXa, tileYa, 1, vue);
- }
- }
- private void prosessWater(Level level,int tileXa, int tileYa,int data,int vue){
- boolean u = level.map.getTile(tileXa, tileYa - 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean d = level.map.getTile(tileXa, tileYa + 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean l = level.map.getTile(tileXa - 1, tileYa, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean r = level.map.getTile(tileXa + 1, tileYa, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean ur = level.map.getTile(tileXa + 1,tileYa - 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean ul = level.map.getTile(tileXa - 1, tileYa - 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean dr = level.map.getTile(tileXa + 1, tileYa + 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- boolean dl = level.map.getTile(tileXa - 1, tileYa + 1, 1).connectsToBlock(Tile.WATER_1.getID(),Tile.WATER_2.getID());
- if (d && !u && !l && !r) {
- if (tileXa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 1, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 2, vue);
- }
- } else if (!d && u && l && !r) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 5, vue);
- } else if (!d && u && !l && r) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 6, vue);
- } else if (!d && u && !l && !r) {
- if (tileXa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 13, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 14, vue);
- }
- } else if (!d && !u && l && !r) {
- if (tileYa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 7, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 11, vue);
- }
- } else if (!d && !u && !l && r) {
- if (tileYa % 2 == 0) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 4, vue);
- } else {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 8, vue);
- }
- } else if (d && !u && l && !r) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 9, vue);
- } else if (d && !u && !l && r) {
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 10, vue);
- }else if(ur){
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 12, vue);
- }else if(ul){
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 15, vue);
- }else if(dr){
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 0, vue);
- }else if(dl){
- level.map.setTile(tileXa, tileYa, Tile.WATER_SAND.getID(), vue);
- level.map.setTileData(tileXa, tileYa, 3, vue);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment