#pragma once #include "Tree/Service.hpp" #include "Tree/Instance.hpp" #include "Player.hpp" namespace Aya { class PartInstance; extern const char* const sChatService; class ChatService : public DescribedCreatable , public Service { private: void gotFilteredStringSuccess(std::string response, Network::Player* player, boost::function resumeFunction, boost::function errorFunction); void gotFilterStringError(std::string error, boost::function errorFunction); public: enum ChatColor { CHAT_BLUE, CHAT_GREEN, CHAT_RED }; ChatService(); void chat(shared_ptr instance, std::string message, ChatService::ChatColor chatColor); void filterStringForPlayer(std::string stringToFilter, shared_ptr playerToFilterFor, boost::function resumeFunction, boost::function errorFunction); Aya::remote_signal, std::string, ChatService::ChatColor)> chattedSignal; }; } // namespace Aya