package edu.whs.spin2018.baoapp.views.spiel;

import android.widget.ImageView;

/**
 * Repraesentiert einen Stein auf dem Spielfeld.
 */
public class SteinView {

    private PositionAufBildschirm pos;
    private ImageView steinBild;

    public SteinView(ImageView steinBild, PositionAufBildschirm pos, int steinBreite) {
        this.steinBild = steinBild;

        /*
         * Das Multiplizieren mit 1.5 soll dem Problem, welches in der MuldenView beschrieben ist
         * entgegenwirken
         */

        float startXPos = pos.getX() - (steinBreite / 2f) * 1.5f;
        float startYPos = pos.getY() - (steinBreite / 2f);

        //Position der ImageView updaten
        this.steinBild.setX(startXPos);
        this.steinBild.setY(startYPos);

        //Position innerhalb der Klasse updaten
        this.pos = new PositionAufBildschirm(startXPos, startYPos);
    }

    /**
     * Liefert die Position der SteinView auf dem Bildschirm
     *
     * @return Position auf dem Bildschirm
     */
    public PositionAufBildschirm gibPositionAufBildschirm() {
        return pos;
    }

    /**
     * Aktualisiert die Position der SteinView auf dem Bildschirm.
     *
     * @param pos - neue Position der SteinView auf dem Bildschirm.
     */
    public void aktualisierePositionaufBildschirmNachAnimation(PositionAufBildschirm pos) {
        this.pos.setX(pos.getX());
        this.pos.setY(pos.getY());
    }

    /**
     * Gibt die ImageView, durch die der Stein dargestellt wird.
     *
     * @return Bild des Steines
     */
    public ImageView gibSteinBild() {
        return steinBild;
    }

    public float gibPivotX() {
        return steinBild.getPivotX();
    }

    public float gibPivotY() {
        return steinBild.getPivotY();
    }
}
