blob: 18f1c6160a05f0e24aacd09053bd91000c466a46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#pragma once
#include "api/AI.h"
#include "System.h"
#include "types.h"
namespace crepe {
class AISystem : public System {
public:
using System::System;
void update() override;
private:
vec2 calculate(AI & ai);
bool accumulate_force(AI & ai, vec2 & running_total, vec2 force_to_add);
vec2 seek(const AI & ai);
vec2 flee(const AI & ai);
vec2 arrive(const AI & ai);
vec2 path_follow(const AI & ai);
};
} // namespace crepe
|