#pragma once

#include "Actors\Actor.h"
#include "Actors\ParticleActor.h"
#include "Damageable.h"

class Cell : public Actor, public Damageable
{
public:
	Cell();
	virtual ~Cell();
	virtual void PreDestroy();

	virtual void die();

	virtual void Update(float dt);
	virtual void Render();
	
	virtual void ReceiveMessage(Message *m);

private:
	static const float MAX_BASE_HP;
	static const float STANDARD_OWN_MOVEMENT_SPEED;
	static const float STANDARD_DRIFT_AWAY_DISTANCE;
	static const int NUM_PARTS;

	ParticleActor *cellParts;
	
	float lastFrameLifePercentage;

	void driftAway(float dt);
};