git repos / blockattack-game

blame: source/code/DialogBox.hpp

normal view · raw

59dcb571 sago007 2016-02-14 15:34 1
/*
59dcb571 sago007 2016-02-14 15:34 2
 * To change this license header, choose License Headers in Project Properties.
59dcb571 sago007 2016-02-14 15:34 3
 * To change this template file, choose Tools | Templates
59dcb571 sago007 2016-02-14 15:34 4
 * and open the template in the editor.
59dcb571 sago007 2016-02-14 15:34 5
 */
59dcb571 sago007 2016-02-14 15:34 6
59dcb571 sago007 2016-02-14 15:34 7
/* 
59dcb571 sago007 2016-02-14 15:34 8
 * File:   DialogBox.hpp
59dcb571 sago007 2016-02-14 15:34 9
 * Author: poul
59dcb571 sago007 2016-02-14 15:34 10
 *
59dcb571 sago007 2016-02-14 15:34 11
 * Created on 14. februar 2016, 14:56
59dcb571 sago007 2016-02-14 15:34 12
 */
59dcb571 sago007 2016-02-14 15:34 13
59dcb571 sago007 2016-02-14 15:34 14
#ifndef DIALOGBOX_HPP
59dcb571 sago007 2016-02-14 15:34 15
#define DIALOGBOX_HPP
59dcb571 sago007 2016-02-14 15:34 16
59dcb571 sago007 2016-02-14 15:34 17
#include "sago/GameStateInterface.hpp"
59dcb571 sago007 2016-02-14 15:34 18
#include <string>
59dcb571 sago007 2016-02-14 15:34 19
#include "ReadKeyboard.h"
59dcb571 sago007 2016-02-14 15:34 20
#include <memory>
59dcb571 sago007 2016-02-14 15:34 21
#include "scopeHelpers.hpp"
59dcb571 sago007 2016-02-14 15:34 22
59dcb571 sago007 2016-02-14 15:34 23
bool OpenDialogbox(int x, int y, std::string& name);
59dcb571 sago007 2016-02-14 15:34 24
59dcb571 sago007 2016-02-14 15:34 25
class DialogBox : public sago::GameStateInterface {
59dcb571 sago007 2016-02-14 15:34 26
public:
59dcb571 sago007 2016-02-14 15:34 27
	DialogBox(int x, int y, const std::string& name);
59dcb571 sago007 2016-02-14 15:34 28
	DialogBox(const DialogBox& orig) = delete;
59dcb571 sago007 2016-02-14 15:34 29
	virtual ~DialogBox();
59dcb571 sago007 2016-02-14 15:34 30
	
59dcb571 sago007 2016-02-14 15:34 31
	bool IsActive() override;
59dcb571 sago007 2016-02-14 15:34 32
	void Draw(SDL_Renderer* target) override;
59dcb571 sago007 2016-02-14 15:34 33
	void ProcessInput(const SDL_Event& event, bool &processed) override;
59dcb571 sago007 2016-02-14 15:34 34
    void SetName(const std::string& name);
59dcb571 sago007 2016-02-14 15:34 35
    std::string GetName() const;
59dcb571 sago007 2016-02-14 15:34 36
    bool IsUpdated() const;
59dcb571 sago007 2016-02-14 15:34 37
private:
59dcb571 sago007 2016-02-14 15:34 38
	bool isActive = true;
59dcb571 sago007 2016-02-14 15:34 39
	std::shared_ptr<ReadKeyboard> rk;
59dcb571 sago007 2016-02-14 15:34 40
	int x; 
59dcb571 sago007 2016-02-14 15:34 41
	int y;
59dcb571 sago007 2016-02-14 15:34 42
	std::string name;
59dcb571 sago007 2016-02-14 15:34 43
	bool updated = false;
59dcb571 sago007 2016-02-14 15:34 44
	SDL_TextInput textInputScope;
59dcb571 sago007 2016-02-14 15:34 45
};
59dcb571 sago007 2016-02-14 15:34 46
59dcb571 sago007 2016-02-14 15:34 47
#endif /* DIALOGBOX_HPP */
59dcb571 sago007 2016-02-14 15:34 48
1970-01-01 00:00 49