Skip to content
Snippets Groups Projects
Behaviours.cpp 1.14 KiB
BehaviourTable::BehaviourTable()
{}

void BehaviourTable::add(Behaviour *b)
{
	behaviours[num] = b;
	num++;
};

Behaviour * BehaviourTable::get(String n)
{
	for( int i = 0; i < num; i++ )
	{
		if( behaviours[i]->name() == n)
		{
			return behaviours[i];
		}
	}

	return nullptr;
};

int BehaviourTable::get_num_behaviours()
{
	return num;
};

Behaviour * BehaviourTable::get_by_num(int n)
{
	return behaviours[n];
};

Behaviour::Behaviour(String name) : _name(name)
{};
Behaviour::~Behaviour()
{};

int Behaviour::is_temp()
{
	return _temp;
};

void Behaviour::update()
{};

int Behaviour::is_interruptable()
{
	return _interruptable;
};

int Behaviour::is_priority()
{
	return _priority;
};

int Behaviour::is_running()
{
	return _running;
};

int Behaviour::name()
{
	return _name;
};

int Behaviour::start(String args)
{
	Serial.println("Base start called <"+args+">");
};
int Behaviour::is_background()
{
	return _background;
};

void Behaviour::stop()
{
	_running = false;
};

char * Behaviour::args()
{
	return "null";
};
TestBehaviour::TestBehaviour()
{};

int TestBehaviour::start(String args)
{
	return "Test behaviour " + _name + " with (" + args + ")";
};