Mercurial > projects > mde
view mde/imde.d @ 115:1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
EnumContent is an IContentList with BoolContent sub-contents.
Content modules moved around (again).
ContentListWidget can now list horizontally.
Log-level setting callback.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Sat, 20 Dec 2008 17:57:05 +0000 |
parents | 9824bee909fd |
children | aba2dd815a1f |
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/>. */ /** This module is for interfacing with the mde.mde module (or other module containing main()) and * some global items. */ module mde.imde; import mde.input.Input; import mde.scheduler.Scheduler; import mde.content.miscContent; static this () { // Make these available to all importing modules' static CTORs, as well as during init. input = new Input(); mainSchedule = new Scheduler; quit = (new EventContent("quit")).addCallback ((Content){ run = false; }); a = new EventContent("a"); b = new EventContent("b"); menu = new ContentList ("menu",[quit,a,b]); } ContentList menu; /// Root menu for imde EventContent quit; /// A content triggering mde to halt EventContent a,b; /// Dummy items Scheduler mainSchedule; /// The schedule used by the main loop. /** Some enums used by per request scheduled functions. */ enum SCHEDULE : Scheduler.ID { DRAW }; bool run = true; // main loop continues if this is true Input input; // Input instance. When multiple users are allowed instances will be per-user.