Newer
Older
JumpingGame / src / main / java / views / TileRenderer.java
package views;

import entities.Pair;
import models.IModel;
import models.JumpingGameModel;

public class TileRenderer implements IView {
    private Sprite sprite;
    private Pair<Double> initPositionValue;

    public TileRenderer(String path, Pair<Double> initPosition, double scale) {
        this.initPositionValue = initPosition;
        this.sprite = new Sprite(path);
        this.sprite.setScaleValue(scale);
        this.sprite.setPositionValue(initPosition);
    }

    public double getScaleValue() {
        return this.sprite.getScaleValue();
    }

    @Override
    public void update(IModel model) {
        JumpingGameModel jumpingGameModel = (JumpingGameModel) model;

        Double x = this.initPositionValue.getLeft() - (jumpingGameModel.getPosition().getLeft() * 64);
        Double y = this.sprite.getPositionValue().getRight();

        this.sprite.setPositionValue(new Pair<>(x, y));
    }

    @Override
    public void display() {
        sprite.draw();
    }

    @Override
    public void delete() {
        sprite.delete();
    }
}