/*
 * TransformComponent.h
 *
 *  Created on: Feb 22, 2020
 *      Author: ayoungblood
 */

#ifndef SRC_ECS_TransformComponent_H_
#define SRC_ECS_TransformComponent_H_

#include "Components.h"
#include "../game/Vector2D.h"

class TransformComponent : public Component
{

public:

	Vector2D position;
	Vector2D velocity;
    Vector2D lastSafePos;

	int height = 40;
	int width = 30;
	int scale = 1;
	int speed = 2;

	TransformComponent()
	{
		position.Zero();
	}

	TransformComponent(int sc)
	{
		position.x = 64*sc;
		position.y = 80*sc;
		scale = sc;
		speed = speed*sc;
	}

// 	TransformComponent(float x, float y)
// 	{
// 		position.Zero();
// 	}

	TransformComponent(int x, int y, int w, int h, int sc)
	{
		position.x = x;
		position.y = y;
		width = w;
		height = h;
		scale = sc;
        speed = speed*sc;
	}

	void init() override
	{
		velocity.Zero();
        lastSafePos.Zero();
	}
	void update() override
	{
		position.x += velocity.x * speed;
		position.y += velocity.y * speed;
	}

};


#endif /* SRC_ECS_TransformComponent_H_ */
