Android Open Source - Station42 Hacking Action






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.hacking;
//from ww w .j a v  a2s. c o  m
import java.util.ArrayList;

import com.badlogic.gdx.math.Rectangle;
import com.station42.base.Engine;
import com.station42.base.Entity;
import com.station42.basic.EntityLocation;

public class HackingAction {
  private boolean wantHacking = false;
  private Entity hackingTarget;
  private float hackingTime = 0;
  public void setWantHacking(boolean value) {
    wantHacking = value;
  }
  public boolean isHacking(Entity target) {
    return hackingTarget == target;
  }
  public boolean isTryingToHack() {
    return wantHacking && hackingTarget == null;
  }
  public float getCompletionPercent() {
    if (hackingTarget != null) {
      Hackable hackable = hackingTarget.getComponent(Hackable.class);
      float timeNeeded = hackable.duration;
      float timeSpent = hackingTime;
      return Math.min(timeSpent / timeNeeded, 1);
    } else {
      return 0;
    }
  }
  public void setTarget(Entity target) {
    if (!isHacking(target)) {
      hackingTarget = target;
      hackingTime = 0;
    }
  }
  public void update(float delta) {
    if (hackingTarget != null) {
      hackingTime += delta;
    } else {
      hackingTime = 0;
      hackingTarget = null;
    }
  }
  public float getHackingTime() {
    return hackingTime;
  }
  public void complete() {
    hackingTarget = null;
  }
  public Entity getTarget() {
    return hackingTarget;
  }
  public boolean getHackingWanted() {
    return wantHacking;
  }
  ArrayList<Entity> entitiesInRange = new ArrayList<Entity>();
  public void calculateEntitiesInRange(Engine engine, EntityLocation myLocation) {
    entitiesInRange.clear();
    for (Entity possibleEntity : engine.getEntitiesWithComponent(Hackable.class)) {
      EntityLocation location = possibleEntity.getComponent(EntityLocation.class);
      Hackable hackable = possibleEntity.getComponent(Hackable.class);
      if (location.getDistance(myLocation) <= hackable.range) {
        entitiesInRange.add(possibleEntity);
      }
    }
  }
  public ArrayList<Entity> getEntitiesInRange() {
    return entitiesInRange;
  }
  public Entity getPreferredTarget(Entity hacker) {
    float bestDistance = 9999;
    Entity bestTarget = null;
    for (Entity possibleEntity : entitiesInRange) {
      if (HackingSystem.canHack(hacker, possibleEntity))
      {
        float distance = hacker.getComponent(EntityLocation.class).getDistance(possibleEntity.getComponent(EntityLocation.class));
        if (distance < bestDistance) {
          bestTarget = possibleEntity;
          bestDistance = distance;
        }
      }
//        return possibleEntity;
    }
    return bestTarget;
  }
}




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