#pragma once

#include <godot_cpp/classes/button.hpp>
#include <godot_cpp/classes/control.hpp>
#include <blitz/godot/NetworkInterface.h>

namespace blitz {

class MainMenu : public godot::Control {
	GDCLASS(MainMenu, godot::Control)
  protected:
	static void _bind_methods();

  public:
	MainMenu();
	~MainMenu();

	// Godot overrides
	void _ready() override;

  private:
	godot::Button* m_JoinButton;
	godot::Button* m_CreateButton;
	godot::Button* m_QuitButton;

	NetworkInterface* m_NetworkInterface;

	void OnConnected();
	void OnDisconnected();

	void OnJoinPressed();
	void OnCreatePressed();
	void OnQuitPressed();

	void DisableButtons();
	void EnableButtons();
};

}  // namespace blitz