Package squaresgame

Source Code of squaresgame.ScoreCounterComponent

package squaresgame;

import squaresgame.GameController.SquarePlacedEvent;
import framework.component.Component;
import framework.event.Event;
import framework.event.EventListener;
import framework.event.EventSystem;
import framework.rendering.TextRenderComponent;

public class ScoreCounterComponent extends Component implements EventListener{
  private Player player = null;

  public ScoreCounterComponent(Player player) {
    super();
    this.player = player;
    EventSystem.getInstance().registerEventListener(this, "SquarePlaced", null);
  }

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

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

  @Override
  public void onEvent(Event e) {
    if(e != null && e.getType().equals("SquarePlaced")){
      if(((SquarePlacedEvent) e).getSquare().getOwningPlayer().equals(this.player)){
        updatePlayerScoreText();
      }
    }
  }
 
  @Override
  public void onSiblingAdded(Component sibling) {
    super.onSiblingAdded(sibling);
    updatePlayerScoreText();
  }
 
  private void updatePlayerScoreText(){
    TextRenderComponent textComp = (TextRenderComponent) getSiblingByType(TextRenderComponent.class.getName());
    if(textComp != null){
      //textComp.setText(player.toString());
      textComp.setText(String.valueOf(player.getScore()));
    }
  }
}
TOP

Related Classes of squaresgame.ScoreCounterComponent

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.