/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.arretados.leveleditor.entities;
import com.arretados.leveleditor.DrawMode;
import com.arretados.leveleditor.GameCanvas;
import com.arretados.leveleditor.ResourceManager;
import com.arretados.leveleditor.ResourceManager.Resource;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import org.json.simple.JSONObject;
/**
*
* @author Bruno
*/
public class Player extends Entity{
private String player;
public Player(int x, int y, String player){
super(x, y, DrawMode.PLAYER);
this.player = player;
}
public Player(JSONObject json){
super((int) (Double.parseDouble(String.valueOf(json.get("x"))) * GameCanvas.METER_TO_PIXELS),
(int) (Double.parseDouble(String.valueOf(json.get("y"))) * GameCanvas.METER_TO_PIXELS),
DrawMode.PLAYER);
player = "player" + String.valueOf(json.get("number"));
}
public String getPlayer(){
return this.player;
}
@Override
public boolean collides(int x, int y) {
Rectangle rect = new Rectangle(
(int) (this.x-(GameCanvas.METER_TO_PIXELS/2)),
(int) (this.y-(GameCanvas.METER_TO_PIXELS/2)),
(int) (GameCanvas.METER_TO_PIXELS),
(int) (GameCanvas.METER_TO_PIXELS));
return rect.contains(x, y);
}
@Override
public void drawMyself(Graphics g) {
Image img = null;
if (this.player.equals("player1"))
img = ResourceManager.getImageFor(Resource.P1);
else
img = ResourceManager.getImageFor(Resource.P2);
g.drawImage(
img,
(int) (x-(GameCanvas.METER_TO_PIXELS/2)),
(int) (y-(GameCanvas.METER_TO_PIXELS/2)),
(int) (GameCanvas.METER_TO_PIXELS),
(int) (GameCanvas.METER_TO_PIXELS),
null);
}
@Override
public JSONObject toJSON() {
JSONObject json = super.toJSON();
json.put("type", this.type.toString());
json.put("number", this.player.equals("player1") ? 1 : 2 );
return json;
}
}