36 std::u16string m_LogPrefix;
51 static std::map<_u::Type*, _v::MonoPtr<ViewController>> m_Instances;
54 template<
class t_Base>
requires(std::is_assignable_v<ViewController*&, t_Base*>)
57 auto l_Type =
reinterpret_cast<_u::Type*
>(csTypeOf(t_Base*));
58 if (l_Type && m_Instances.contains(l_Type))
65 if (p_Type && m_Instances.contains(p_Type))
66 return m_Instances[p_Type].Ptr(
false);
84 DECLARE_INSTANCE_METHOD(
void, Awake);
91 void __Activate_Impl(
IScreen* p_Screen);
93 void __Deactivate_Impl();
108 template<
class t_ModalType>
111 return reinterpret_cast<t_ModalType*
>(CreateModal_Impl(
reinterpret_cast<_u::Type*
>(csTypeOf(t_ModalType*))));
117 IModal* CreateModal_Impl(_u::Type* p_Type);
120 void ShowModal_Impl(
IModal* p_Modal);
123 void CloseModal_Impl(
IModal* p_Modal);
125 void CloseAllModals_Impl();
137 void ShowConfirmationModal_Impl(std::u16string_view p_Message,
_v::CActionRef<bool> p_Callback);
153 void ShowLoadingModal_Impl(std::u16string_view p_Message = {},
bool p_CancelButton =
false, _v::CActionRef<> p_CancelCallback =
nullptr);
157 void ShowMessageModal_Impl(std::u16string_view p_Message, _v::CActionRef<> p_Callback =
nullptr);
161 std::u16string_view KeyboardModal_GetValue_Impl();
164 void KeyboardModal_SetValue_Impl(std::u16string_view p_Value);
167 void KeyboardModal_Append_Impl(std::u16string_view p_ToAppend);
170 void LoadingModal_SetMessage_Impl(std::u16string_view p_Message);
174 void CloseColorPickerModal_Impl();
176 void CloseConfirmationModal_Impl();
178 void CloseDropdownModal_Impl();
180 void CloseKeyboardModal_Impl();
182 void CloseLoadingModal_Impl();
184 void CloseMessageModal_Impl();
190 void ShowTooltip_Impl(_u::Vector3 p_Position, std::u16string_view p_Text);
192 void HideTooltip_Impl();