28#ifndef OBJECTSBRAINSFACTORYPME_H
29#define OBJECTSBRAINSFACTORYPME_H
31#define PME_BRAIN_HIGHLEVEL_TARGET 1
32#define PME_BRAIN_IMMEDIATE_TARGET 2
33#define PME_BRAIN_TYPE_DISABLED
34#define PME_BRAIN_TYPE_RANDOM 512
35#define PME_BRAIN_TYPE_FIXED 1024
36#define PME_BRAIN_TYPE_EVOLVED 2048
37#define PME_BRAIN_TYPE_HUMAN 4096
38#define PME_BRAIN_TYPE_TRAINING0 0x2000
39#define PME_BRAIN_TYPE_TRAINING1 0x4000
40#define PME_BRAIN_TYPE_TRAINING2 0x8000
41#define PME_BRAIN_TYPE_TRAINING3 0x10000
42#define PME_BRAIN_TYPE_TRAINING4 0x20000
43#define PME_BRAIN_TYPE_TRAINING5 0x40000
44#define PME_BRAIN_TYPE_TRAINING6 0x80000
45#define PME_BRAIN_TYPE_TRAINING7 0x100000
46#define PME_BRAIN_TYPE_TRAINING8 0x200000
47#define PME_BRAIN_TYPE_TRAINING9 0x400000
48#define PME_BRAIN_TYPE_TRAINING10 0x800000
49#define PME_BRAIN_TYPE_TRAINING11 0x1000000
50#define PME_BRAIN_TYPE_TRAINING12 0x2000000
51#define PME_BRAIN_TYPE_TRAINING13 0x4000000
52#define PME_BRAIN_TYPE_TRAINING14 0x8000000
55#include "MemoryManager.h"
62class BrainsFactory :
public CMemPME
65 static BrainsFactory& Instance();
66 static void Terminate();
68 Sint32 think(Actor*, Sint32, Sint32&, Sint32&, GameField*);
69 bool validate(Sint32);
70 Sint32 getName(Sint32,
string&);
71 Sint32 getTargetType(Sint32);
72 Brain* getBrain(Sint32);
75 explicit BrainsFactory();
77 static BrainsFactory* mInstance;
79 unordered_map<Sint32, Brain*> mapBrains;