Skip to content

AlienTheBetrayer/Moon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moon enter image description here

Icon

Moon is a console engine, that apart from the regular user interface elements and console functions, has a plethora of other stuff that does not directly relate to console.

Getting started

Moon is untested on other development environments so it is recommended to use Visual Studio 2017 or higher.

Start by cloning this repository or just downloading it, then put Moon.hpp header file in the same location where you put Moon folder, then just include the header file and you are ready to go.

Example

// If you press the red button, a sound will play within 3 seconds.

Moon::Console::Button button;
button.SetBounds({ 5, 20, 5, 8 });
button.SetColor("light_red");
button.SetFill(false);

Moon::Event::EventHandler evHandler;
evHandler.HookButton(&button, Moon::Event::ButtonEventType::OnLMBDown, [](const auto& args) {
	Moon::Time::SetTimeoutSync([]() {
		Moon::Sound::Play("sound.mp3");
	}, Moon::Misc::RandomRange(1000, 3000));
});

button.Render();

Main idea

The idea of this engine is to provide a really easy way to manipulate console and an ability to work like with the usual UI framework but in the console, and just make the experience whilst coding in console much more convenient.

Roadmap

  • Add more UI elements
  • Make all the components feel complete
  • Optimizations
  • Add more data structs such as Vector2 and their operator overloads
  • Better event system
  • Animations
  • Settings to configure including files | Done

About

Moon | Console Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages