Android Open Source - Station42 Wall Renderer From Project Back to project page Station42 .
License The source code is released under:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUC...
If you think the Android project Station42 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.station42.world;
/ * f r o m w w w . j a v a 2 s . c o m * /
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import com.station42.base.Engine;
import com.station42.base.EngineRenderer;
import com.station42.base.Entity;
import com.station42.basic.EntityLocation;
import com.station42.bullet.Bullet;
import com.station42.optimizations.CroppingHelper;
public class WallRenderer implements EngineRenderer {
Entity player;
public WallRenderer(Entity player) {
this.player = player;
}
@Override
public void render(Engine engine, SpriteBatch batch, Rectangle viewport) {
batch.end();
engine.shapeRenderer.begin(ShapeType.Filled);
for (Entity entity : engine.getEntitiesWithComponent(Wall.class)) {
Wall wall = entity.getComponent(Wall.class);
World world = entity.getComponent(World.class);
Room room = wall.room;
float width = Math.abs(wall.end.x - wall.start.x);
float height = Math.abs(wall.end.y - wall.start.y);
float x = Math.min(wall.start.x, wall.end.x);
float y = Math.min(wall.start.y, wall.end.y);
// if (world != null) {
// TextureRegion wallRegion = world.getWalls();
// for (int x = (int) wall.start.x;x <= wall.end.x;x+=wallRegion.getRegionWidth()) {
// for (int y = (int) wall.start.x;y <= wall.end.x;y+=wallRegion.getRegionHeight()) {
// batch.draw(wallRegion, x, y);
// }
// }
// }
if (World.visible(player, entity) && CroppingHelper.inView(player.getComponent(EntityLocation.class), room.bounds, viewport)) {
engine.shapeRenderer.setColor(Color.BLACK);
engine.shapeRenderer.rect(x - 2, y - 2, width + 4, height + 4);
// engine.shapeRenderer.line(wall.start, wall.end);
}
}
engine.shapeRenderer.end();
batch.begin();
}
}
Java Source Code List com.station40.game.IOSLauncher.java com.station40.game.android.AndroidLauncher.java com.station40.game.android.OuyaMenuScreen.java com.station40.game.android.OuyaPlayerJoiner.java com.station40.game.client.HtmlLauncher.java com.station40.game.desktop.DesktopLauncher.java com.station42.base.EngineMessageListener.java com.station42.base.EngineRenderer.java com.station42.base.EngineUpdateListener.java com.station42.base.Engine.java com.station42.base.Entity.java com.station42.basic.EntityFacing.java com.station42.basic.EntityLocation.java com.station42.basic.EntityRenderer.java com.station42.basic.EntitySprite.java com.station42.bullet.BulletCollisionSystem.java com.station42.bullet.BulletRenderer.java com.station42.bullet.BulletSpawner.java com.station42.bullet.BulletUpdateSystem.java com.station42.bullet.Bullet.java com.station42.death.BulletDamageMessage.java com.station42.death.BulletDamageSystem.java com.station42.death.DeathMessage.java com.station42.death.HealthRenderer.java com.station42.death.Health.java com.station42.death.PlayerRespawnSystem.java com.station42.death.SpawnRoom.java com.station42.faction.EntityFaction.java com.station42.game.GameScreen.java com.station42.game.Levels.java com.station42.game.MainMenuScreen.java com.station42.game.MatchSystem.java com.station42.game.ScoringPortalHackingSystem.java com.station42.game.ScoringPortalRenderer.java com.station42.game.ScoringPortal.java com.station42.game.Station40Game.java com.station42.hacking.Hackable.java com.station42.hacking.HackingActionParticles.java com.station42.hacking.HackingActionRenderer.java com.station42.hacking.HackingActionUpdater.java com.station42.hacking.HackingAction.java com.station42.hacking.HackingSystem.java com.station42.hacking.HackingUI.java com.station42.hacking.PlayerHacker.java com.station42.hopping.HoppingAction.java com.station42.hopping.HoppingSystem.java com.station42.hopping.HoppingUI.java com.station42.hopping.OffensiveHackingSystem.java com.station42.hopping.PlayerHopper.java com.station42.input.MouseAndKeyboardController.java com.station42.loot.HealthBoost.java com.station42.loot.LootDropSystem.java com.station42.loot.LootDrop.java com.station42.loot.LootPickupSystem.java com.station42.loot.Loot.java com.station42.loot.Looter.java com.station42.loot.PointBoost.java com.station42.loot.SpeedBoost.java com.station42.loot.WorldSwap.java com.station42.optimizations.CroppingHelper.java com.station42.optimizations.RoomResidentSystem.java com.station42.optimizations.RoomResident.java com.station42.player.PlayerTrackingCameraSystem.java com.station42.player.mouse.EntityMouseState.java com.station42.player.mouse.PlayerActionStateSetter.java com.station42.player.mouse.PlayerClientGunSystem.java com.station42.player.mouse.PlayerControllerMouseStateSetter.java com.station42.player.mouse.PlayerGunSystem.java com.station42.player.mouse.PlayerMouseStateSetter.java com.station42.player.move.EntityMoveState.java com.station42.player.move.PlayerControllerMoveStateSetter.java com.station42.player.move.PlayerMoveStateSetter.java com.station42.player.move.PlayerWalker.java com.station42.sentries.FactionSentrySystem.java com.station42.sentries.SentryHackingSystem.java com.station42.sentries.SentrySpawner.java com.station42.sentries.Sentry.java com.station42.server.BulletRequest.java com.station42.server.ProtocolSetup.java com.station42.server.Station40Client.java com.station42.server.Station40Server.java com.station42.server.serializers.EntitySerializer.java com.station42.world.RoomRenderer.java com.station42.world.Room.java com.station42.world.WallCollisionSystem.java com.station42.world.WallRenderer.java com.station42.world.Wall.java com.station42.world.WorldUI.java com.station42.world.World.java