]> git.localhorst.tv Git - blank.git/blobdiff - src/shared/ChatState.hpp
moved common stated to shared dir
[blank.git] / src / shared / ChatState.hpp
diff --git a/src/shared/ChatState.hpp b/src/shared/ChatState.hpp
new file mode 100644 (file)
index 0000000..7b8a993
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef BLANK_SHARED_CHATSTATE_HPP_
+#define BLANK_SHARED_CHATSTATE_HPP_
+
+#include "../app/State.hpp"
+
+#include "../ui/TextInput.hpp"
+
+#include <string>
+
+
+namespace blank {
+
+class Environment;
+
+class ChatState
+: public State {
+
+public:
+       struct Responder {
+               virtual void OnLineSubmit(const std::string &) = 0;
+       };
+
+public:
+       ChatState(Environment &env, State &parent, Responder &);
+
+       void OnResume() override;
+       void OnPause() override;
+
+       void OnResize(Viewport &) override;
+
+       void Handle(const SDL_Event &) override;
+       void Update(int dt) override;
+       void Render(Viewport &) override;
+
+       void Quit();
+
+private:
+       Environment &env;
+       State &parent;
+       Responder &responder;
+
+       TextInput input;
+
+};
+
+}
+
+#endif