This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Materials and Shaders
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Unigine::Config Class

Header: #include <UnigineConfig.h>

The Config class is used to read values (settings) from the application configuration file (configs/default.config by default) and write them back to it.

Use the appropriate methods depending on the type of the target item. For example, to get the values of the following items, you should use the getInt() and getString() methods respectively:

Source code (XML)
...
<item name="show_fps" type="int">1</item>
<item name="system_script" type="string">unigine_project/unigine.usc</item>
...

Usage Example#

By using the Config class, you can save custom settings to the configuration file and then restore it when required. For example:

AppSystemLogic.h:

Source code (C++)
#include <UnigineLogic.h>
#include <UnigineConfig.h>
#include <UnigineConsole.h>

using namespace Unigine;

class AppSystemLogic : public Unigine::SystemLogic {
	
public:
	AppSystemLogic();
	virtual ~AppSystemLogic();
	
	virtual int init();
	
	virtual int update();
	virtual int render();
	
	virtual int shutdown();
	virtual int destroy();

private:

	Unigine::String player_avatar;
	int skip_cutscenes;
	int blood_enabled;
	int bulletshell_lifetime;
};

AppSystemLogic.cpp:

Source code (C++)
#include "AppSystemLogic.h"

int AppSystemLogic::init() {

	// read custom user-defined settings from the configuration file
	player_avatar = Config::getString("player_avatar", "usa_soldier1");
	skip_cutscenes = Config::getBool("skip_cutscenes", false);
	blood_enabled = Config::getBool("blood_enabled", false);
	bulletshell_lifetime = Config::getInt("bulletshell_lifetime", 100);

	return 1;
}

int AppSystemLogic::shutdown() {

	// automatically save the configuration file at shutdown
	Config::setAutosave(true);

	// write the custom settings to the configuration file
	Config::setString("player_avatar", player_avatar.get());
	Config::setBool("skip_cutscenes", skip_cutscenes);
	Config::setBool("blood_enabled", blood_enabled);
	Config::setInt("bulletshell_lifetime", bulletshell_lifetime);
	// save data to the custom configuration file, which is different from the default one
	Config::setPath("unigine_project/data/configs/my.config");
	Config::save();

	return 1;
}

See Also#

Config Class

Members


static void setBool ( const char * name, int value ) #

Sets a value of the given boolean setting. If the setting with this name already exists, its value is overwritten.

Arguments

  • const char * name - Name of the setting.
  • int value - Boolean value (0 or 1). 0 stands for false, 1 stands for true.

static int getBool ( const char * name ) #

Reads the value of the given boolean setting.

Arguments

  • const char * name - Name of the setting.

Return value

Boolean value (0 or 1) of the setting. 0 stands for false, 1 stands for true.

static int getBool ( const char * name, int value ) #

Reads the value of the given boolean setting. Returns the value specified as the second argument if the setting isn't found.

Arguments

  • const char * name - Name of the setting.
  • int value - Custom value to be returned if the setting isn't found.

Return value

Boolean value (0 or 1) of the setting. 0 stands for false, 1 stands for true.

static int isExist ( const char * name ) #

Checks if the setting with the given name exists.

Arguments

  • const char * name - Name of the setting.

Return value

1 if the setting exists; otherwise, 0.

static void setFloat ( const char * name, float value ) #

Sets a value of the given float setting. If the setting with this name already exists, its value is overwritten.

Arguments

  • const char * name - Name of the setting.
  • float value - Float value of the setting.

static float getFloat ( const char * name, float value ) #

Reads the value of the given float setting. Returns the value specified as the second argument if the setting isn't found.

Arguments

  • const char * name - Name of the setting.
  • float value - Custom value to be returned if the setting isn't found.

Return value

Float value of the setting.

static float getFloat ( const char * name ) #

Reads the value of the given float setting.

Arguments

  • const char * name - Name of the setting.

Return value

Float value of the setting.

static void setInt ( const char * name, int value ) #

Sets a value of the given integer setting. If the setting with this name already exists, its value is overwritten.

Arguments

  • const char * name - Name of the setting.
  • int value - Integer value of the setting.

static int getInt ( const char * name ) #

Reads the value of the given integer setting.

Arguments

  • const char * name - Name of the setting.

Return value

Integer value of the setting.

static int getInt ( const char * name, int value ) #

Reads the value of the given integer setting. Returns the value specified as the second argument if the setting isn't found.

Arguments

  • const char * name - Name of the setting.
  • int value - Custom value to be returned if the setting isn't found.

Return value

Integer value of the setting.

static void setString ( const char * name, const char * value ) #

Sets a value of the given string setting. If the setting with this name already exists, its value is overwritten.

Arguments

  • const char * name - Name of the setting.
  • const char * value - String value of the setting.

static const char * getString ( const char * name, const char * value ) #

Reads the value of the given string setting. Returns the value specified as the second argument if the setting isn't found.

Arguments

  • const char * name - Name of the setting.
  • const char * value - Custom value to be returned if the setting is found.

Return value

String value of the setting.

static const char * getString ( const char * name ) #

Reads the value of the given string setting.

Arguments

  • const char * name - Name of the setting.

Return value

String value of the setting.

static int load ( ) #

Console: config_load
Loads config from the file. To change the path to the configuration file use the setPath() method.

Return value

true if the config is successfully loaded from the file; otherwise, false.

static void remove ( const char * name ) #

Removes the setting with the given name from the configuration file.

Arguments

  • const char * name - Name of the setting.

static int save ( ) #

Console: config_save
Saves the current configuration to the file. To change the path to the configuration file use the setPath() method.

Return value

true if the current configuration is successfully saved to the file; otherwise, false.

static void setPath ( const char * path ) #

Console: config
Sets a new path to the Engine config file (default: configs/default.config). The path can be specified as an absolute path or relative to the -data_path or <project_name> folder if the -project_name is set. This parameter is stored in the following configuration file: *.boot.

Arguments

  • const char * path - New path to the Engine configuration file to be set.

static const char * getPath ( ) const#

Console: config
Returns the current path to the Engine config file (default: configs/default.config). This parameter is stored in the following configuration file: *.boot.

Return value

Current path to the Engine configuration file.

static void setAutosave ( bool autosave ) #

Console: config_autosave
Sets a value indicating if current Engine configuration settings are automatically saved to the corresponding config file on loading, closing, and saving the world, as well as on the Engine shutdown.

Arguments

  • bool autosave - true to enable automatic saving of current Engine configuration settings; false — to disable it.

static bool isAutosave ( ) const#

Console: config_autosave
Returns a value indicating if current Engine configuration settings are automatically saved to the corresponding config file on loading, closing, and saving the world, as well as on the Engine shutdown.

Return value

true if automatic saving of current Engine configuration settings is enabled; otherwise, 0.
Last update: 10.03.2022
Build: ()