Package squaresgame

Source Code of squaresgame.LineComponent

package squaresgame;

import squaresgame.GameController.LinePlacedEvent;
import framework.component.Component;
import framework.component.ComponentSystem;
import framework.event.Event;
import framework.event.EventListener;
import framework.event.EventSystem;
import framework.rendering.SpriteComponent;
import generators.GridLineGenerator;

public class LineComponent extends Component implements EventListener{
  private final Line l;

  public LineComponent(Line l) {
    super();
    this.l = l;
    EventSystem.getInstance().registerEventListener(this, "LinePlaced", null);
  }

  public Line getLine() {
    return l;
  }

  @Override
  public boolean allowSameTypedSiblings() {
    return false;
  }

  @Override
  protected byte getDataFormatVersion() {
    return 0;
  }

  @Override
  public void onEvent(Event e) {
    if(e != null && e.getType().equals("LinePlaced")){
      LinePlacedEvent lineEvent = (LinePlacedEvent) e;
      if(lineEvent.getLine() != null && lineEvent.getLine().equals(this.l)){
        SpriteComponent lineSprite = (SpriteComponent) ComponentSystem.getInstance().getComponentWithTypeAndLabel(GridLineGenerator.getLineLabel(l), SpriteComponent.class);
        if(lineSprite != null){
          lineSprite.setImageFilename(ColourManager.getLineForPlayer(lineEvent.getPlayerID()), true);
        }
      }
    }
  }
 
}
TOP

Related Classes of squaresgame.LineComponent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.