202 |
С т р а н и ц а
В рюкзаке TMap, мы храним переменную FString предмета, который держит игрок.
В карте Icons, мы храним единственную ссылку на изображение предмета,
который держит игрок.
Во время визуализации, мы можем использовать две карты работающие вместе,
чтобы просматривать и количество предметов имеющихся у игрока (в его карте
Backpack), и ссылку ресурса текстуры этого предмета (в карте Icons). Следующий
скриншот показывает, как будет выглядеть визуализация HUD:
Примечание
Обратите внимание, что мы также можем использовать массив struct с
переменной FString и UTexture2D* в нём, вместо использования двух карт.
Например, мы можем держать TArray
- Backpack с помощью переменной
struct, как показано в следующем коде:
struct Item
{
FString name;
int qty;
UTexture2D* tex;
};
Затем, по мере того, как мы подбираем предметы, они будут добавлены в
линейный массив. Однако подсчёт каждого предмета, который есть у нас в
рюкзаке, потребует постоянную переоценку, посредством итерации через массив
предметов, каждый раз, когда мы хотим видеть счёт. Например, чтобы увидеть,
сколько расчёсок есть у вас, вам потребуется сделать передачу через весь массив.
И это не так эффективно, как использование карты.
Достарыңызбен бөлісу: