MCPcopy Create free account
hub / github.com/ddnet/ddnet / FindContainerImpl

Method FindContainerImpl

src/game/client/components/skins.cpp:826–843  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

824}
825
826const CSkins::CSkinContainer *CSkins::FindContainerImpl(const char *pName)
827{
828 if(!CSkin::IsValidName(pName))
829 {
830 return nullptr;
831 }
832
833 auto ExistingSkin = m_Skins.find(pName);
834 if(ExistingSkin == m_Skins.end())
835 {
836 CSkinContainer SkinContainer(this, pName, CSkinContainer::EType::DOWNLOAD, IStorage::TYPE_SAVE);
837 auto &&pSkinContainer = std::make_unique<CSkinContainer>(std::move(SkinContainer));
838 pSkinContainer->SetState(pSkinContainer->DetermineInitialState());
839 ExistingSkin = m_Skins.insert({pSkinContainer->Name(), std::move(pSkinContainer)}).first;
840 }
841 ExistingSkin->second->RequestLoad();
842 return ExistingSkin->second.get();
843}
844
845const CSkin *CSkins::FindOrNullptr(const char *pName)
846{

Callers

nothing calls this directly

Calls 6

endMethod · 0.80
DetermineInitialStateMethod · 0.80
RequestLoadMethod · 0.80
getMethod · 0.80
SetStateMethod · 0.45
NameMethod · 0.45

Tested by

no test coverage detected