掉落系统:进程级掉落表 + 随机 roll 入包。 @thread roll 使用调用方提供的 rng(命名随机流),可在任意线程执行。 更多...
#include <LootSystem.h>
静态 Public 成员函数 | |
| static void | registerTable (const LootTableDefinition &def) |
| Registers table. | |
| static int | registerTablesFromJson (const std::string &json) |
| Registers tables from json. | |
| static const LootTableDefinition * | find (const std::string &id) |
| Finds . | |
| static void | clear () |
| Clears . | |
| static int | count () |
| Returns the number of . | |
| static int | roll (const std::string &tableId, eve::inventory::Bag *bag, std::mt19937 &rng) |
| 按掉落表 roll 一次,把命中的物品加入 bag。 | |
详细描述
掉落系统:进程级掉落表 + 随机 roll 入包。 @thread roll 使用调用方提供的 rng(命名随机流),可在任意线程执行。
在文件 LootSystem.h 第 43 行定义.
成员函数说明
◆ clear()
|
static |
◆ count()
|
static |
Returns the number of .
在文件 LootSystem.cpp 第 68 行定义.
引用了 size.
被这些函数引用 eve::rpg::RPG::getLootTableCount().
◆ find()
|
static |
◆ registerTable()
|
static |
◆ registerTablesFromJson()
|
static |
Registers tables from json.
在文件 LootSystem.cpp 第 24 行定义.
引用了 eve::json::Value::at(), eve::rpg::LootEntry::chance, entries, eve::rpg::LootTableDefinition::entries, eve::json::Value::get(), eve::json::Value::getDouble(), eve::json::Value::getInt(), eve::json::Value::getString(), eve::rpg::LootTableDefinition::id, eve::rpg::LootEntry::itemId, eve::rpg::LootEntry::maxQty, eve::rpg::LootEntry::minQty, n, eve::json::Document::parse(), eve::json::Document::root(), root , 以及 eve::json::Document::valid().
◆ roll()
|
static |
按掉落表 roll 一次,把命中的物品加入 bag。
- 返回
- 本次命中并掉落的物品种类数(0 表示全未命中或表不存在)。
在文件 LootSystem.cpp 第 70 行定义.
引用了 eve::inventory::Bag::addItem(), eve::rpg::LootTableDefinition::entries , 以及 find().
被这些函数引用 eve::rpg::RPG::rollLoot().
该类的文档由以下文件生成:
- src/modules/rpg/LootSystem.h
- src/modules/rpg/LootSystem.cpp