You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Communication.h 1.7 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef COMMUNICATION_H
  2. #define COMMUNICATION_H
  3. #include "Message2Server.pb.h"
  4. #include "Message2Clients.pb.h"
  5. #include "MessageType.pb.h"
  6. #include "Services.grpc.pb.h"
  7. #include "Services.pb.h"
  8. #include <grpcpp/grpcpp.h>
  9. #include "structures.h"
  10. #include <thread>
  11. class Logic;
  12. class Communication
  13. {
  14. public:
  15. Communication(std::string sIP, std::string sPort);
  16. ~Communication()
  17. {
  18. }
  19. bool Move(int64_t time, double angle, int64_t playerID);
  20. bool PickProp(THUAI6::PropType prop, int64_t playerID);
  21. bool UseProp(int64_t playerID);
  22. bool UseSkill(int64_t playerID);
  23. bool SendMessage(int64_t toID, std::string message, int64_t playerID);
  24. bool HaveMessage(int64_t playerID);
  25. std::pair<int64_t, std::string> GetMessage(int64_t playerID);
  26. bool Escape(int64_t playerID);
  27. void StartFixMachine(int64_t playerID);
  28. void EndFixMachine();
  29. bool GetFixStatus();
  30. void StartSaveHuman(int64_t playerID);
  31. void EndSaveHuman();
  32. bool GetSaveStatus();
  33. bool Attack(double angle, int64_t playerID);
  34. bool CarryHuman(int64_t playerID);
  35. bool ReleaseHuman(int64_t playerID);
  36. bool HangHuman(int64_t playerID);
  37. bool TryConnection(int64_t playerID);
  38. protobuf::MessageToClient GetMessage2Client();
  39. bool HaveMessage2Client();
  40. void AddPlayer(int64_t playerID, THUAI6::PlayerType playerType, THUAI6::HumanType humanType, THUAI6::ButcherType butcherType);
  41. private:
  42. void FixMachine(int64_t playerID);
  43. void SaveHuman(int64_t playerID);
  44. std::unique_ptr<protobuf::AvailableService::Stub> THUAI6Stub;
  45. bool haveNewMessage = false;
  46. protobuf::MessageToClient message2Client;
  47. bool isFixing = false;
  48. bool isSaving = false;
  49. };
  50. #endif