File: ScriptJob.cpp

package info (click to toggle)
dyssol 1.5.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,204 kB
  • sloc: cpp: 53,870; sh: 85; python: 59; makefile: 11
file content (25 lines) | stat: -rw-r--r-- 793 bytes parent folder | download | duplicates (3)
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
/* Copyright (c) 2021, Dyssol Development Team. All rights reserved. This file is part of Dyssol. See LICENSE file for license information. */

#include "ScriptJob.h"

using namespace ScriptInterface;

SScriptEntry* CScriptJob::AddEntry(const std::string& _key)
{
	const auto descriptor = Key2Descriptor(_key);
	if (descriptor.keyStr.empty()) return {};
	return m_entries.emplace_back(std::make_unique<SScriptEntry>(descriptor)).get();
}

bool CScriptJob::HasKey(EScriptKeys _key) const
{
	return std::any_of(m_entries.begin(), m_entries.end(), [&](const std::unique_ptr<SScriptEntry>& _e) { return _e->key == _key; });
}

std::vector<SScriptEntry*> CScriptJob::GetAllEntries() const
{
	std::vector<SScriptEntry*> res;
	for (const auto& e : m_entries)
		res.push_back(e.get());
	return res;
}