修改弹窗函数
This commit is contained in:
		
							parent
							
								
									767a5da6c1
								
							
						
					
					
						commit
						02bb68f21f
					
				|  | @ -102,8 +102,6 @@ void e2d::Game::resume() | ||||||
| 	if (_paused && !_ended) | 	if (_paused && !_ended) | ||||||
| 	{ | 	{ | ||||||
| 		Time::__reset(); | 		Time::__reset(); | ||||||
| 		Timer::getInstance()->updateTime(); |  | ||||||
| 		ActionManager::getInstance()->updateTime(); |  | ||||||
| 	} | 	} | ||||||
| 	_paused = false; | 	_paused = false; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,4 +1,6 @@ | ||||||
| #include "..\e2dbase.h" | #include "..\e2dbase.h" | ||||||
|  | #include "..\e2dtool.h" | ||||||
|  | #include "..\e2dmanager.h" | ||||||
| #include <thread> | #include <thread> | ||||||
| 
 | 
 | ||||||
| using namespace std::chrono; | using namespace std::chrono; | ||||||
|  | @ -40,7 +42,6 @@ bool e2d::Time::__isReady() | ||||||
| 
 | 
 | ||||||
| void e2d::Time::__updateNow() | void e2d::Time::__updateNow() | ||||||
| { | { | ||||||
| 	// 刷新时间
 |  | ||||||
| 	_now = steady_clock::now(); | 	_now = steady_clock::now(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -55,6 +56,8 @@ void e2d::Time::__updateLast() | ||||||
| void e2d::Time::__reset() | void e2d::Time::__reset() | ||||||
| { | { | ||||||
| 	_last = _fixedLast = _now = steady_clock::now(); | 	_last = _fixedLast = _now = steady_clock::now(); | ||||||
|  | 	Timer::getInstance()->updateTime(); | ||||||
|  | 	ActionManager::getInstance()->updateTime(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Time::__sleep() | void e2d::Time::__sleep() | ||||||
|  |  | ||||||
|  | @ -319,10 +319,6 @@ void e2d::Window::setConsoleEnabled(bool enabled) | ||||||
| 				HMENU hmenu = ::GetSystemMenu(hwnd, FALSE); | 				HMENU hmenu = ::GetSystemMenu(hwnd, FALSE); | ||||||
| 				::RemoveMenu(hmenu, SC_CLOSE, MF_BYCOMMAND); | 				::RemoveMenu(hmenu, SC_CLOSE, MF_BYCOMMAND); | ||||||
| 			} | 			} | ||||||
| 			else |  | ||||||
| 			{ |  | ||||||
| 				this->error(L"Alloc Console Failed!"); |  | ||||||
| 			} |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else  | 	else  | ||||||
|  | @ -355,25 +351,33 @@ void e2d::Window::setTypewritingEnabled(bool enabled) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Window::info(const String & text, const String & title) | bool e2d::Window::popup(const String & text, const String & title, PopupStyle style, bool hasCancel) | ||||||
| { | { | ||||||
| 	Game::getInstance()->pause(); | 	UINT type = 0; | ||||||
| 	::MessageBox(_hWnd, (LPCWSTR)text, (LPCWSTR)title, MB_ICONINFORMATION | MB_OK); | 	switch (style) | ||||||
| 	Game::getInstance()->resume(); | 	{ | ||||||
|  | 	case e2d::Window::PopupStyle::Information: | ||||||
|  | 		type = MB_ICONINFORMATION; | ||||||
|  | 		break; | ||||||
|  | 	case e2d::Window::PopupStyle::Warning: | ||||||
|  | 		type = MB_ICONWARNING; | ||||||
|  | 		break; | ||||||
|  | 	case e2d::Window::PopupStyle::Error: | ||||||
|  | 		type = MB_ICONERROR; | ||||||
|  | 		break; | ||||||
|  | 	default: | ||||||
|  | 		break; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| void e2d::Window::warning(const String& title, const String& text) | 	if (hasCancel) | ||||||
| 	{ | 	{ | ||||||
| 	Game::getInstance()->pause(); | 		type |= MB_OKCANCEL; | ||||||
| 	::MessageBox(_hWnd, (LPCWSTR)text, (LPCWSTR)title, MB_ICONWARNING | MB_OK); |  | ||||||
| 	Game::getInstance()->resume(); |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| void e2d::Window::error(const String & text, const String & title) |  | ||||||
| { |  | ||||||
| 	Game::getInstance()->pause(); | 	Game::getInstance()->pause(); | ||||||
| 	::MessageBox(_hWnd, (LPCWSTR)text, (LPCWSTR)title, MB_ICONERROR | MB_OK); | 	int ret = ::MessageBox(_hWnd, (LPCWSTR)text, (LPCWSTR)title, type); | ||||||
| 	Game::getInstance()->resume(); | 	Game::getInstance()->resume(); | ||||||
|  | 	return ret == IDOK; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -78,6 +78,14 @@ public: | ||||||
| 		ArrowWait	/* 默认指针和小沙漏 */ | 		ArrowWait	/* 默认指针和小沙漏 */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
|  | 	// 弹窗样式
 | ||||||
|  | 	enum class PopupStyle : int | ||||||
|  | 	{ | ||||||
|  | 		Information,	/* 信息 */ | ||||||
|  | 		Warning,		/* 警告 */ | ||||||
|  | 		Error			/* 错误 */ | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
| public: | public: | ||||||
| 	// 获取窗体实例
 | 	// 获取窗体实例
 | ||||||
| 	static Window * getInstance(); | 	static Window * getInstance(); | ||||||
|  | @ -136,22 +144,12 @@ public: | ||||||
| 		bool enabled | 		bool enabled | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 弹出提示窗口
 | 	// 弹窗
 | ||||||
| 	void info( | 	bool popup( | ||||||
| 		const String& text,					/* 内容 */ | 		const String& text,							/* 窗口内容 */ | ||||||
| 		const String& title = L"Infomation"	/* 窗口标题 */ | 		const String& title,						/* 窗口标题 */ | ||||||
| 	); | 		PopupStyle style = PopupStyle::Information,	/* 弹窗样式 */ | ||||||
| 
 | 		bool hasCancel = false						/* 包含取消按钮 */ | ||||||
| 	// 弹出警告窗口
 |  | ||||||
| 	void warning( |  | ||||||
| 		const String& text,					/* 内容 */ |  | ||||||
| 		const String& title = L"Warning"	/* 窗口标题 */ |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	// 弹出错误窗口
 |  | ||||||
| 	void error( |  | ||||||
| 		const String& text,					/* 内容 */ |  | ||||||
| 		const String& title = L"Error"		/* 窗口标题 */ |  | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 处理窗体消息
 | 	// 处理窗体消息
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue