Files
salmanoff/smocore/include/thought.h
T

61 lines
717 B
C++
Raw Normal View History

2024-09-04 14:08:50 +10:00
#ifndef _THOUGHT_H
#define _THOUGHT_H
2024-09-05 18:20:33 +10:00
#include <iostream>
2024-09-04 14:08:50 +10:00
#include <scene.h>
2024-09-08 01:04:41 +10:00
#include <attentionGrabber.h>
#include <goal.h>
2024-09-04 14:08:50 +10:00
class Thought
{
2024-09-05 18:20:33 +10:00
public:
2024-09-08 01:04:41 +10:00
Thought(void)
{
setGoal(thought::Goal::DRIFT);
2024-09-08 01:04:41 +10:00
}
2024-09-05 18:20:33 +10:00
2024-09-08 01:04:41 +10:00
public:
2024-09-05 18:20:33 +10:00
void walk(void)
{
for (;;)
{
step();
}
};
void step(void) { std::cout <<"Step\n"; }
void setGoal(thought::Goal g)
2024-09-08 01:04:41 +10:00
{ goal = g; }
2024-09-05 18:20:33 +10:00
2024-09-04 14:08:50 +10:00
public:
2024-09-08 01:04:41 +10:00
Scene scene;
thought::Goal goal;
2024-09-08 01:04:41 +10:00
};
class ActiveThought
: public Thought
{
public:
ActiveThought(AttentionGrabber ag)
: currFocus(ag)
{
setGoal(thought::Goal
::ASSOCIATE_CAUSAL_QUALE_WITH_INTRINSIC_MOTIVATORS);
2024-09-08 01:04:41 +10:00
}
public:
AttentionGrabber currFocus;
};
class IdleThought
: public Thought
{
public:
IdleThought(void)
{}
2024-09-04 14:08:50 +10:00
};
2024-09-04 14:08:50 +10:00
#endif