//CMessageBoxHandler - [2020-04-13 11:57:46]
#ifndef _CMESSAGEBOXHANDLER_H_
#define _CMESSAGEBOXHANDLER_H_

#include "CMessageBox.h"

/*
00121828 CMessageBoxHandler::ShutDownMessageBox()
00122D6C CMessageBoxHandler::NewMessageBox(CMessageBoxHandler_func,void *,EMessageBoxType,wchar_t const*,wchar_t * a5,int a6,int a7,bool a8,int a9,int a10,bool,bool,bool,bool)
00122E14 CMessageBoxHandler::NewMessageBox(CMessageBox *,CMessageBoxHandler_func,void *,EMessageBoxType,wchar_t const*,wchar_t *,int,int,bool,int,int,bool,bool,bool,bool)
00122EA0 CMessageBoxHandler::MessageBoxShown()
00122ED0 CMessageBoxHandler::GetMessageBox()
00122EF4 CMessageBoxHandler::CanProcess()
00122F38 CMessageBoxHandler::Process()
00122F8C CMessageBoxHandler::GetCanBackButtonRemove()
00122FBC CMessageBoxHandler::ShutDownMessageBoxType(EMessageBoxType)
0012300C CMessageBoxHandler::Render()
001230D0 CMessageBoxHandler::GetMessageBoxType()
001230FC CMessageBoxHandler::DisableOption(int)
0012312C CMessageBoxHandler::GetCustomData()
0012314C CMessageBoxHandler::GetNumOptions()
*/

class CMessageBoxHandler {
public:
  static bool ShutDownMessageBox();  //00121828
  static bool NewMessageBox(CMessageBoxHandler_func,
                            void *,
                            EMessageBoxType,
                            wchar_t const *,
                            wchar_t *a5,
                            int a6,
                            int a7,
                            bool a8,
                            int a9,
                            int a10,
                            bool,
                            bool,
                            bool,
                            bool);  //00122D6C

  static bool NewMessageBox(CMessageBox *pBox0,
                            CMessageBoxHandler_func pFunc1,
                            void *pvoid2,
                            EMessageBoxType eType3,
                            wchar_t const *pWBuf4,
                            wchar_t *pWBuf5,
                            int a6,
                            int a7,
                            bool b8,
                            int a9,
                            int a10,
                            bool b11,
                            bool b12,
                            bool b13,
                            bool b14);  //00122E14

  static bool MessageBoxShown();                        //00122EA0
  static CMessageBox *GetMessageBox();                  //00122ED0
  static bool CanProcess();                             //00122EF4
  static int Process();                                 //00122F38
  static bool GetCanBackButtonRemove();                 //00122F8C
  static bool ShutDownMessageBoxType(EMessageBoxType);  //00122FBC
  static void Render();                                 //0012300C
  static int GetMessageBoxType();                       //001230D0
  static void DisableOption(int a1);                    //001230FC
  static uchar *GetCustomData();                        //0012312C
  static int GetNumOptions();                           //0012314C

  static int ms_iCurrentMessageBox;            //00336248
  static CMessageBox *ms_pMessageBoxQueue[8];  //0034A950
};

//0011992C 
bool DisplayReviewRequestPopup(bool b0);
#endif  //_CMESSAGEBOXHANDLER_H_