Mercurial > projects > mde
view mde/setup/exception.d @ 132:264028f4115a
Cleaned up mde.imde and a couple of widget functions.
New mde.menus module to add default menus.
The input singleton is now created in mde.input.Input instead of mde.imde.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Fri, 23 Jan 2009 14:59:05 +0000 |
parents | 56c0ddd90193 |
children |
line wrap: on
line source
/* LICENSE BLOCK Part of mde: a Modular D game-oriented Engine Copyright © 2007-2008 Diggory Hardy This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /** Contains the exception classes for Init, and the StageState type to remove the need for init * functions to import other Init modules. */ module mde.setup.exception; import mde.exception; /// Thrown when Init fails. class InitException : mdeException { char[] getSymbol () { return super.getSymbol ~ ".setup.Init"; } this (char[] msg) { super(msg); } } /// State of an InitStage. enum StageState : byte { INACTIVE = 0, /// run init on startup ACTIVE = 1, /// run cleanup on shutdown ERROR = -1, /// locked; don't run init or cleanup } /// May be thrown when an init or cleanup function fails to explicitly set the stage's state. class InitStageException : InitException { this (StageState s) { state = s; super(""); } StageState state; }