// Copyright 2013-2021 the openage authors. See copying.md for legal info.

// Warning: this file is a dummy file and was auto-generated by the v0.4.1 converter;
// its purpose is to keep the deprecated gamestate compilable and intact;
// these files keep only the minimum functionality and should not be changed;
// For details, see buildsystem/codegen.cmake and openage/codegen.

#pragma once

#include <cstddef>
#include <cstdint>
#include <string>
#include "unit_dummy.h"
#include "util/csv.h"



namespace openage {
namespace gamedata {

/**
 * amount definition for a single type resource for researches.
 */
struct tech_resource_cost {
	resource_types type_id;
	int16_t amount;
	int8_t enabled;
	static constexpr size_t member_count = 3;
	int fill(const std::string &line);
	bool recurse(const openage::util::CSVCollection &storage, const std::string &basedir);

};

/**
 * one researchable technology.
 */
struct tech {
	openage::util::csv_subdata<openage::gamedata::tech_resource_cost> research_resource_costs;
	int16_t required_tech_count;
	int16_t civilization_id;
	int16_t full_tech_mode;
	int16_t research_location_id;
	uint16_t language_dll_name;
	uint16_t language_dll_description;
	int16_t research_time;
	int16_t tech_effect_id;
	int16_t tech_type;
	int16_t icon_id;
	int8_t button_id;
	int32_t language_dll_help;
	int32_t language_dll_techtree;
	int32_t hotkey;
	std::string name;
	static constexpr size_t member_count = 17;
	int fill(const std::string &line);
	bool recurse(const openage::util::CSVCollection &storage, const std::string &basedir);

};

} // gamedata
} // openage
