MeshImplTags::TagIterator MeshImplTags::tag_begin() { size_t index = 0; while (index < tagList.size() && tagList[index] == NULL) ++index; return TagIterator( this, index ); }
MeshImplTags::TagIterator MeshImplTags::TagIterator::operator--() { --index; while (index < tags->tagList.size() && NULL == tags->tagList[index]) --index; return TagIterator( tags, index ); }
MeshImplTags::TagIterator MeshImplTags::TagIterator::operator--(int) { size_t old = index; --index; while (index < tags->tagList.size() && NULL == tags->tagList[index]) --index; return TagIterator( tags, old ); }
FGameplayTagContainer FGameplayTagContainer::GetGameplayTagParents() const { FGameplayTagContainer ResultContainer; ResultContainer.AppendTags(*this); for (TArray<FGameplayTag>::TConstIterator TagIterator(GameplayTags); TagIterator; ++TagIterator) { FGameplayTagContainer ParentTags = IGameplayTagsModule::Get().GetGameplayTagsManager().RequestGameplayTagParents(*TagIterator); ResultContainer.AppendTags(ParentTags); } return ResultContainer; }