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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef SKIRMISH_AI_DATA_H
#define SKIRMISH_AI_DATA_H
#include <string>
#include <vector>
#include "ExternalAI/SkirmishAIBase.h"
#include "System/creg/creg_cond.h"
#include "System/UnorderedMap.hpp"
/**
* Contains everything needed to initialize a Skirmish AI instance.
* @see Game/GameSetup
*/
class SkirmishAIData : public SkirmishAIBase {
CR_DECLARE_DERIVED(SkirmishAIData)
public:
SkirmishAIData() = default;
SkirmishAIData(const SkirmishAIData& d) = default;
SkirmishAIData(SkirmishAIData&& d) { *this = std::move(d); }
SkirmishAIData& operator = (const SkirmishAIData& d) = default;
SkirmishAIData& operator = (SkirmishAIData&& d) {
team = d.team;
hostPlayer = d.hostPlayer;
status = d.status;
name = std::move(d.name);
shortName = std::move(d.shortName);
version = std::move(d.version);
optionKeys = std::move(d.optionKeys);
options = std::move(d.options);
isLuaAI = d.isLuaAI;
currentStats = d.currentStats;
return *this;
}
public:
std::string shortName;
std::string version;
std::vector<std::string> optionKeys;
spring::unordered_map<std::string, std::string> options;
bool isLuaAI = false;
SkirmishAIStatistics currentStats;
};
#endif // SKIRMISH_AI_DATA_H
|