diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/coolarray.hpp | 21 | ||||
-rw-r--r-- | include/ui_quest.hpp | 6 |
2 files changed, 26 insertions, 1 deletions
diff --git a/include/coolarray.hpp b/include/coolarray.hpp index 5388aab..be221b8 100644 --- a/include/coolarray.hpp +++ b/include/coolarray.hpp @@ -16,7 +16,13 @@ public: _capacity = 0; } - CoolArray(size_t n, const T& value=0) { + CoolArray(size_t n) { + buffer = new T[n]; + _size = 0; + _capacity = n; + } + + CoolArray(size_t n, const T& value) { buffer = new T[n]; _size = n; _capacity = n; @@ -41,6 +47,11 @@ public: std::copy(a.begin(), a.end(), buffer); } + void operator+=(std::initializer_list<T> n) { + for (const auto &e : n) + push_back(e); + } + template<class Func> void remove_if(Func f) { for (size_t i = 0; i < _size; ++i) { @@ -73,6 +84,10 @@ public: _capacity = 0; } + void reset(void) { + _size = 0; + } + size_t size(void) const { return _size; } @@ -81,6 +96,10 @@ public: return _capacity; } + T* data(void) { + return buffer; + } + T& front(void) { return buffer[0]; } diff --git a/include/ui_quest.hpp b/include/ui_quest.hpp index a0f3ad4..24a5e1b 100644 --- a/include/ui_quest.hpp +++ b/include/ui_quest.hpp @@ -13,9 +13,13 @@ namespace ui { } void draw(void) { + static unsigned int textWrap = 40; + if (!_toggle) return; + std::swap(textWrap, ui::textWrapLimit); + float top_y = offset.y + 200; ui::drawNiceBox(vec2 {offset.x - 200, top_y }, vec2 {offset.x + 200, offset.y - 200 }, @@ -31,6 +35,8 @@ namespace ui { ui::putText(x + 40, y, q.desc.c_str()); y -= 40; } + + std::swap(textWrap, ui::textWrapLimit); } } } |