SpiecsEngine
 
Loading...
Searching...
No Matches

◆ Create()

template<typename R >
void Spices::SlateInfoBar::Create ( const std::string & info,
std::function< std::any()> rateFunc,
std::function< bool(SlateInfoBar *)> destroyFunc = nullptr )
inlinestatic

Create InfoBar Instance, and registy to Slate.

Template Parameters
RInfoBar return type.
Parameters
[in]infoInfoBar info content.
[in]rateFuncInfoBar progress rate.
[in]destroyFuncInfoBar destroy condition.

Definition at line 123 of file SlateInfoBar.h.

124 {
126
127 auto ptr = dynamic_cast<ImguiInfoBar*>(SlateSystem::GetRegister()->GetSlate("InfoBar").get());
128
129 if constexpr (std::is_same_v<R, float>)
130 {
131 ptr->Push(std::make_shared<SlateInfoBar>(info, rateFunc, destroyFunc, Type::progress));
132 }
133 else if constexpr (std::is_same_v<R, int>)
134 {
135 ptr->Push(std::make_shared<SlateInfoBar>(info, rateFunc, destroyFunc, Type::count));
136 }
137 }
#define SPICES_PROFILE_ZONE
static std::shared_ptr< SlateRegister > GetRegister()
Get slate register.
Definition SlateSystem.h:67