Android Open Source - Station42 World






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;
/*from  ww  w  .  j ava 2 s .c  om*/
import java.util.HashMap;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Pixmap.Format;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.FrameBuffer;
import com.badlogic.gdx.math.Rectangle;
import com.station42.base.Entity;
import com.station42.faction.EntityFaction;
import com.station42.game.Station40Game;

public class World {
  public static final World orangeWorld = new World("Orange", Color.ORANGE, 0);
  public static final World greenWorld = new World("Green", Color.GREEN, 1);
  Color theme;
  String name;
  TextureRegion region;
  TextureRegion wallRegion;
  public int worldId;
  private World(String name, Color theme, int worldId) {
    this.name = name;
    this.theme = theme;
    this.worldId = worldId;
  }
  public Color getColor() {
    return theme;
  }
  public static boolean visible(Entity viewer, Entity viewed) {
    World entityWorld = viewed.getComponent(World.class);
    if (viewer == null) {
      return true;
    } else if (viewer.getComponent(World.class) == null) {
      return true;
    } else if (entityWorld == null) {
      return true;
    } else if (entityWorld == viewer.getComponent(World.class)) {
      return true;
    } else {
      return false;
    }
  }
  public static Color getColor(Entity viewed) {
    World entityWorld = viewed.getComponent(World.class);
    if (entityWorld == null) {
      return Color.WHITE;
    } else {
      return entityWorld.theme;
    }
  }
  public World nextWorld() {
    if (this == orangeWorld)
      return greenWorld;
    else if (this == greenWorld)
      return orangeWorld;
    return null;
  }
  public TextureRegion getBackground() {
    if (region == null) {
      if (this == orangeWorld)
        region = new TextureRegion(Station40Game.manager.get("sprites.png", Texture.class), 64, 32, 32, 32);
      else if (this == greenWorld)
        region = new TextureRegion(Station40Game.manager.get("sprites.png", Texture.class), 96, 64, 32, 32);
    }
    return region;
  }
  public EntityFaction getHomeFaction() {
    if (this == orangeWorld)
      return EntityFaction.red;
    else if (this == greenWorld)
      return EntityFaction.blue;
    return null;
  }
  HashMap<Rectangle, Texture> optimizedRegions = new HashMap<Rectangle, Texture>();
  public Texture getBackground(SpriteBatch batch, Rectangle bounds) {
    Rectangle normalBounds = new Rectangle(bounds).setPosition(0, 0);
    if (!optimizedRegions.containsKey(bounds))
    {
      TextureRegion tileRegion = getBackground();
      tileRegion.getTexture().getTextureData().prepare();
      Texture newTexture = new Texture((int)bounds.x, (int)bounds.y, tileRegion.getTexture().getTextureData().getFormat());
      Pixmap newPixmap = newTexture.getTextureData().consumePixmap();
      Pixmap tilePixmap = tileRegion.getTexture().getTextureData().consumePixmap();
      for (int x = 0;x < bounds.width;x+=tileRegion.getRegionWidth()) {
        for (int y = 0;y < bounds.width;y+= tileRegion.getRegionHeight()) {
          newPixmap.drawPixmap(tilePixmap, x, y,
              tileRegion.getRegionX(), tileRegion.getRegionY(), 
              tileRegion.getRegionWidth(), tileRegion.getRegionHeight());
        }
      }
      optimizedRegions.put(normalBounds, newTexture);
    }
    return optimizedRegions.get(normalBounds);
  }
}




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