Android Open Source - physics Shell Impl






From Project

Back to project page physics.

License

The source code is released under:

GNU General Public License

If you think the Android project physics 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.nuaavee.physics.core.impl;
// www .jav  a 2s  . c  o m
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.MotionEvent;
import com.google.inject.Inject;
import com.nuaavee.physics.circle.Circle;
import com.nuaavee.physics.core.EventProcessor;
import com.nuaavee.physics.core.Shell;
import com.nuaavee.physics.core.action.ActionEventFactory;
import com.nuaavee.physics.core.layer.LayerManager;
import com.nuaavee.physics.model.Coordinate;
import com.nuaavee.physics.model.action.ActionEvent;
import com.nuaavee.physics.model.action.listener.BackgroundActionListener;
import com.nuaavee.physics.model.action.listener.PhysicalObjectActionListener;
import com.nuaavee.physics.model.layer.BackgroundLayer;
import com.nuaavee.physics.model.layer.DaynamicLayer;
import com.nuaavee.physics.model.layer.Layer;
import roboguice.inject.ContextSingleton;

/**
 * @author nuaavee
 */
@ContextSingleton
public class ShellImpl implements Shell {

  private final LayerManager layerManager;
  private final EventProcessor eventProcessor;

  @Inject
  public ShellImpl(LayerManager layerManager, EventProcessor eventProcessor) {
    this.layerManager = layerManager;
    this.eventProcessor = eventProcessor;
  }

  @Override
  public void activate() {
    Layer backgroundLayer = new BackgroundLayer(Color.rgb(50, 50, 50));
    backgroundLayer.addActionListener(new BackgroundActionListener());
    layerManager.addLayer(backgroundLayer);

    Circle circle = new Circle(10, new Coordinate(50, 50), Color.YELLOW);
    circle.addActionListener(new PhysicalObjectActionListener());
    layerManager.addLayer(new DaynamicLayer(circle));
  }

  @Override
  public void draw(Canvas canvas) {
    for (Layer layer : layerManager.getLayers()) {
      layer.draw(canvas);
    }
  }

  @Override
  public boolean handleTouchEvent(MotionEvent event) {
    ActionEvent actionEvent = ActionEventFactory.getActionEvent(event);
    return eventProcessor.process(actionEvent);
  }
}




Java Source Code List

com.nuaavee.physics.app.AstroboyMasterConsole.java
com.nuaavee.physics.app.FightForcesOfEvilActivity.java
com.nuaavee.physics.app.MainActivity.java
com.nuaavee.physics.app.MainView.java
com.nuaavee.physics.app.controller.AstroboyRemoteControl.java
com.nuaavee.physics.app.controller.Astroboy.java
com.nuaavee.physics.circle.CircleModule.java
com.nuaavee.physics.circle.Circle.java
com.nuaavee.physics.core.CoreModule.java
com.nuaavee.physics.core.EventProcessor.java
com.nuaavee.physics.core.InjectorHelper.java
com.nuaavee.physics.core.Shell.java
com.nuaavee.physics.core.action.ActionEventFactory.java
com.nuaavee.physics.core.impl.EventProcessorImpl.java
com.nuaavee.physics.core.impl.ShellImpl.java
com.nuaavee.physics.core.layer.LayerManager.java
com.nuaavee.physics.core.layer.impl.LayerManagerImpl.java
com.nuaavee.physics.model.Coordinate.java
com.nuaavee.physics.model.ModelModule.java
com.nuaavee.physics.model.PhysicalObject.java
com.nuaavee.physics.model.action.ActionEventType.java
com.nuaavee.physics.model.action.ActionEvent.java
com.nuaavee.physics.model.action.Actionable.java
com.nuaavee.physics.model.action.listener.AbstractActionListener.java
com.nuaavee.physics.model.action.listener.ActionListener.java
com.nuaavee.physics.model.action.listener.BackgroundActionListener.java
com.nuaavee.physics.model.action.listener.ChildrenActionListener.java
com.nuaavee.physics.model.action.listener.PhysicalObjectActionListener.java
com.nuaavee.physics.model.layer.BackgroundLayer.java
com.nuaavee.physics.model.layer.DaynamicLayer.java
com.nuaavee.physics.model.layer.Layer.java