Android Open Source - Station42 Room Resident






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.optimizations;
// w w w.  j a v  a  2 s.  c om
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.function.Consumer;

import com.station42.base.Entity;
import com.station42.basic.EntityLocation;
import com.station42.faction.EntityFaction;
import com.station42.world.Room;

public class RoomResident {
  ArrayList<Room> rooms =  new ArrayList<Room>();
  public RoomResident() {
    
  }
  public Iterable<Entity> getNeighboringResidentsWithComponent(final Class<?> component) {
    return new Iterable<Entity>() {
      @Override
      public void forEach(Consumer<? super Entity> arg0) {
        throw new RuntimeException("UNIMPLEMENTED FOREACH");
      }

      @Override
      public Iterator<Entity> iterator() {
        return new Iterator<Entity>() {
          Entity next = null;
          Entity nextPossible = null;
          Iterator<Room> roomsIterator = rooms.iterator();
          Iterator<Entity> base;
          @Override
          public void forEachRemaining(Consumer<? super Entity> arg0) {
            throw new RuntimeException("UNIMPLEMENTED FOREACHREMAINING");
          }
          private void shiftToNextPossible() {
            while ((base == null || !base.hasNext()) && roomsIterator.hasNext()) {
              Room possibleRoom = roomsIterator.next();
              if (possibleRoom.residents.size() != 0) {
                base = possibleRoom.residents.iterator();
                break;
              }
            }
            if (base != null && base.hasNext())
              nextPossible = base.next();
          }
          private void shiftToNext() {
            if (next != null)
              return;
            shiftToNextPossible();
            while (nextPossible != null) {
              if (nextPossible.getComponent(component) != null) {
                next = nextPossible;
                nextPossible = null;
                break;
              }
              nextPossible = null;
              shiftToNextPossible();
            }
          }
          @Override
          public boolean hasNext() {
            shiftToNext();
            return next != null;
          }

          @Override
          public Entity next() {
            shiftToNext();
            Entity returned = next;
            next = null;
            return returned;
          }

          @Override
          public void remove() {
            throw new RuntimeException("UNIMPLEMENTED REMOVE");
          }
        };
      }

      @Override
      public Spliterator<Entity> spliterator() {
        throw new RuntimeException("UNIMPLEMENTED SPLITERATOR");
      }
    };
  }
  public void addRoom(Room room) {
    if (!rooms.contains(room))
      rooms.add(room);
  }
  public void removeRoom(Room room) {
    rooms.remove(room);
  }
  
}




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