├── compile.hxml ├── gc.code-workspace ├── haxeui-heaps.properties ├── readme.md ├── res ├── base │ ├── fnt │ │ ├── Avdira.fnt │ │ └── Avdira.png │ ├── main-view.xml │ ├── main.css │ └── test.xml ├── fonts │ ├── Arial.cfg │ ├── Arial.fnt │ ├── Arial.png │ ├── Avdira.fnt │ ├── Avdira.png │ └── arial.ttf └── gui │ ├── hud.xml │ ├── hud_orig.xml │ ├── indButton.xml │ ├── init.xml │ ├── loadGame.xml │ ├── myTheme │ ├── fonts │ │ ├── Arial.fnt │ │ ├── Arial.png │ │ ├── Avdira.fnt │ │ └── Avdira.png │ ├── images │ │ ├── Button.png │ │ ├── flw_corp.png │ │ ├── haxe_logo.png │ │ ├── haxeui.png │ │ ├── heaps_logo.png │ │ ├── heaps_logo.svg │ │ ├── icons │ │ │ └── gc │ │ │ │ ├── arrow.png │ │ │ │ ├── folder.png │ │ │ │ ├── gc_camper.png │ │ │ │ ├── gc_fun.png │ │ │ │ ├── gc_lot.png │ │ │ │ ├── gc_money.png │ │ │ │ ├── gc_options.png │ │ │ │ ├── gc_plus.png │ │ │ │ ├── gc_restroom.png │ │ │ │ ├── gc_rv.png │ │ │ │ ├── gc_shower.png │ │ │ │ ├── gc_swim.png │ │ │ │ ├── gc_swings.png │ │ │ │ └── gc_tent.png │ │ ├── parchment.png │ │ ├── tent3.png │ │ ├── white_tent.xcf │ │ ├── wood_border.png │ │ └── woodplank.png │ ├── sounds │ │ └── cherokee_shuffle.wav │ └── styles │ │ ├── buttons.css │ │ ├── dialog.css │ │ └── main.css │ ├── newGame.xml │ ├── options.xml │ ├── splash.xml │ └── start.xml ├── simplescreenrecorder.mp4 └── src ├── Main.hx ├── gui ├── GcFunButton.hx ├── GcLotButton.hx ├── Gui.hx ├── Hud.hx ├── LoadScreen.hx ├── NewScreen.hx ├── OptionsScreen.hx └── StartMenu.hx ├── module.xml └── template.hx /compile.hxml: -------------------------------------------------------------------------------- 1 | -cp src 2 | 3 | -lib heaps 4 | -lib hlsdl 5 | -lib haxeui-core 6 | -lib haxeui-heaps 7 | 8 | -D linux 9 | -D windowSize=1024x768 10 | -D debug 11 | -hl gc.hl 12 | -main Main 13 | --debug -------------------------------------------------------------------------------- /gc.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "settings": {} 8 | } -------------------------------------------------------------------------------- /haxeui-heaps.properties: -------------------------------------------------------------------------------- 1 | haxe.ui.heaps.background.color=0x000000 2 | haxe.ui.theme=myTheme -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # A HaxeUI Basic Gui 2 | 3 | This project is an example of an actual basic gui that I am using in my projects. It is currently targeted for Heaps HashLink but certainly can be easily modified for any other HaxeUI Target. 4 | 5 | ## Features 6 | 1. Animated Initialization screen with logos and music to load shared system items (eg: assets, music, gui items) 7 | 2. Custom Components (HaxeUI) 8 | 3. Directory/File loading example 9 | 4. Options settings 10 | 5. HUD 11 | 6. Themed Styles 12 | 13 | ## Info 14 | 15 | As you look at the scenes hx code, you will see an "@:build". This macro will build the screen for you and has the additional feature of making any component with a defined "id" a variable to be used in the code. No need to do a "findComponent". 16 | 17 | The "custom components" along with the "theme" is defined in the module.xml file. Note: it is important to have the parent theme define unless you are going to define a style for every component used. 18 | 19 | The HUD screen has some additional custom components for indicators used on the expanding menus. 20 | 21 | ## Acknowledgement 22 | 23 | I can not express enough thanks to Ian Harrigan for being patient with me trying to learn HaxeUI. I hope that whatever project you use his library in, you would give him credit for such a great resource to provide the building blocks to our UIs. -------------------------------------------------------------------------------- /res/base/fnt/Avdira.fnt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /res/base/fnt/Avdira.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredlangva/HaxeUI_Base/af6448289bd911e2623a30e84579d8da6f29a108/res/base/fnt/Avdira.png -------------------------------------------------------------------------------- /res/base/main-view.xml: -------------------------------------------------------------------------------- 1 | 2 |