Added AsloEngine 0.9.0 to Repository
This commit is contained in:
parent
d017dd84b3
commit
881e6c70f2
60 changed files with 2648 additions and 0 deletions
24
asloengine/builtin/headers/button.hpp
Executable file
24
asloengine/builtin/headers/button.hpp
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#pragma once
|
||||
|
||||
#include "text_only_button.hpp"
|
||||
#include "../../headers/spriteobject.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class Button : public TextOnlyButton, public SpriteObject
|
||||
{
|
||||
|
||||
public:
|
||||
float text_vertical_offset;
|
||||
|
||||
Button(sf::String _name, sf::String _text, sf::Font& _font, sf::Texture& _texture, uint _text_size = 30);
|
||||
~Button();
|
||||
|
||||
virtual void draw() override;
|
||||
virtual void on_main_property_update() override;
|
||||
virtual void on_start() override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
34
asloengine/builtin/headers/framerate_counter.hpp
Executable file
34
asloengine/builtin/headers/framerate_counter.hpp
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
#pragma once
|
||||
|
||||
#include "../../headers/gameobject.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class FramerateCounter : public GameObject
|
||||
{
|
||||
|
||||
public:
|
||||
std::string prefix;
|
||||
std::string postfix;
|
||||
std::shared_ptr<sf::Text> target_text;
|
||||
aslosignals::TypeSignal<sf::String> signal_on_counter_updated;
|
||||
|
||||
FramerateCounter(sf::String _name, uint _update_interval = 5);
|
||||
FramerateCounter(sf::String _name, std::shared_ptr<sf::Text> _target_text, uint _update_interval = 5);
|
||||
~FramerateCounter();
|
||||
|
||||
virtual void set_update_interval(uint _update_interval);
|
||||
virtual uint get_update_interval() const;
|
||||
virtual void on_start() override;
|
||||
virtual void on_update(float delta_time) override;
|
||||
|
||||
protected:
|
||||
uint counter;
|
||||
uint update_interval;
|
||||
float *values;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
32
asloengine/builtin/headers/grid_container.hpp
Executable file
32
asloengine/builtin/headers/grid_container.hpp
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
#pragma once
|
||||
|
||||
#include "../../headers/gameobject.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class GridContainer : public GameObject
|
||||
{
|
||||
|
||||
public:
|
||||
std::vector<GameObject *> objects;
|
||||
bool needs_clean = false;
|
||||
sf::Vector2u grid_size;
|
||||
sf::Vector2f cell_size;
|
||||
|
||||
GridContainer(sf::String _name, sf::Vector2u _grid_size = sf::Vector2u(0, 0), sf::Vector2f _cell_size = sf::Vector2f(0, 0));
|
||||
virtual ~GridContainer() override;
|
||||
|
||||
virtual void update_positions();
|
||||
virtual void add_object(GameObject *object);
|
||||
virtual void remove_object(int index);
|
||||
|
||||
virtual void draw() override;
|
||||
virtual void on_start() override;
|
||||
virtual void on_update(float delta_time) override;
|
||||
virtual void clean();
|
||||
virtual void on_destroy() override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
24
asloengine/builtin/headers/input_field.hpp
Executable file
24
asloengine/builtin/headers/input_field.hpp
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#pragma once
|
||||
|
||||
#include "text_only_input_field.hpp"
|
||||
#include "../../headers/spriteobject.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class InputField : public TextOnlyInputField, public SpriteObject
|
||||
{
|
||||
|
||||
public:
|
||||
float text_vertical_offset;
|
||||
|
||||
InputField(sf::String _name, sf::Vector2f _size, sf::Font& _font, sf::Texture& _texture, uint _text_size = 30, int _max_length = 999, sf::String _default_text = "");
|
||||
~InputField();
|
||||
|
||||
virtual void draw() override;
|
||||
virtual void on_main_property_update() override;
|
||||
virtual void on_start() override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
29
asloengine/builtin/headers/scene_default.hpp
Executable file
29
asloengine/builtin/headers/scene_default.hpp
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
#pragma once
|
||||
|
||||
#include "../../headers/scene.hpp"
|
||||
#include "text_only_button.hpp"
|
||||
#include "button.hpp"
|
||||
#include "text_only_input_field.hpp"
|
||||
#include "input_field.hpp"
|
||||
#include "framerate_counter.hpp"
|
||||
#include "scroll_view.hpp"
|
||||
#include "grid_container.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class SceneDefault : public Scene
|
||||
{
|
||||
|
||||
public:
|
||||
SceneDefault();
|
||||
|
||||
sf::Texture button_texture;
|
||||
sf::Font button_font;
|
||||
|
||||
void on_load() override;
|
||||
void on_update(float delta_time) override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
38
asloengine/builtin/headers/scroll_view.hpp
Executable file
38
asloengine/builtin/headers/scroll_view.hpp
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include "../../headers/gameobject.hpp"
|
||||
#include "../../headers/clickable.hpp"
|
||||
#include "../../headers/mouse.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class ScrollView : public GameObject, public virtual Clickable
|
||||
{
|
||||
|
||||
public:
|
||||
std::vector<GameObject *> objects;
|
||||
bool needs_clean = false;
|
||||
sf::Vector2f size;
|
||||
float scroll_amount;
|
||||
float max_scroll_amount;
|
||||
float scroll_speed;
|
||||
|
||||
ScrollView(sf::String _name, sf::Vector2f _size, float _max_scroll_amount, float _scroll_speed = 25);
|
||||
virtual ~ScrollView() override;
|
||||
|
||||
virtual void set_rotation(float _rotation);
|
||||
|
||||
virtual void draw() override;
|
||||
virtual void on_start() override;
|
||||
virtual void on_update(float delta_time) override;
|
||||
virtual void clean();
|
||||
virtual void on_destroy() override;
|
||||
|
||||
protected:
|
||||
virtual sf::View change_view();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
25
asloengine/builtin/headers/text_only_button.hpp
Executable file
25
asloengine/builtin/headers/text_only_button.hpp
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#pragma once
|
||||
|
||||
#include "../../headers/textobject.hpp"
|
||||
#include "../../headers/clickable.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class TextOnlyButton : public TextObject, public Clickable
|
||||
{
|
||||
|
||||
public:
|
||||
aslosignals::Signal signal_on_clicked;
|
||||
|
||||
TextOnlyButton(sf::String _name, sf::String _text, sf::Font& _font, uint _text_size = 30);
|
||||
virtual ~TextOnlyButton() override;
|
||||
|
||||
virtual void draw() override;
|
||||
virtual void on_main_property_update() override;
|
||||
virtual void on_start() override;
|
||||
virtual void on_update(float delta_time) override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
33
asloengine/builtin/headers/text_only_input_field.hpp
Executable file
33
asloengine/builtin/headers/text_only_input_field.hpp
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#pragma once
|
||||
|
||||
#include "../../headers/textobject.hpp"
|
||||
#include "../../headers/clickable.hpp"
|
||||
#include "../../headers/keyboard.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
class TextOnlyInputField : public TextObject, public Clickable
|
||||
{
|
||||
|
||||
public:
|
||||
sf::Vector2f size;
|
||||
int max_length;
|
||||
bool crop = true;
|
||||
bool editable = true;
|
||||
bool editing = false;
|
||||
aslosignals::TypeSignal<sf::String, sf::Uint32> signal_on_text_changed;
|
||||
aslosignals::Signal signal_on_focus;
|
||||
aslosignals::Signal signal_on_lost_focus;
|
||||
|
||||
TextOnlyInputField(sf::String _name, sf::Vector2f _size, sf::Font& _font, uint _text_size = 30, int _max_length = 999, sf::String _default_text = "");
|
||||
virtual ~TextOnlyInputField() override;
|
||||
|
||||
virtual void draw() override;
|
||||
virtual void on_main_property_update() override;
|
||||
virtual void on_start() override;
|
||||
virtual void on_update(float delta_time) override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue