networked_multiplayer_peer.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef NETWORKED_MULTIPLAYER_PEER_H
  2. #define NETWORKED_MULTIPLAYER_PEER_H
  3. #include "io/packet_peer.h"
  4. class NetworkedMultiplayerPeer : public PacketPeer {
  5. GDCLASS(NetworkedMultiplayerPeer,PacketPeer);
  6. protected:
  7. static void _bind_methods();
  8. public:
  9. enum {
  10. TARGET_PEER_BROADCAST=0,
  11. TARGET_PEER_SERVER=1
  12. };
  13. enum TransferMode {
  14. TRANSFER_MODE_UNRELIABLE,
  15. TRANSFER_MODE_UNRELIABLE_ORDERED,
  16. TRANSFER_MODE_RELIABLE,
  17. };
  18. enum ConnectionStatus {
  19. CONNECTION_DISCONNECTED,
  20. CONNECTION_CONNECTING,
  21. CONNECTION_CONNECTED,
  22. };
  23. virtual void set_transfer_mode(TransferMode p_mode)=0;
  24. virtual void set_target_peer(int p_peer_id)=0;
  25. virtual int get_packet_peer() const=0;
  26. virtual bool is_server() const=0;
  27. virtual void poll()=0;
  28. virtual int get_unique_id() const=0;
  29. virtual void set_refuse_new_connections(bool p_enable)=0;
  30. virtual bool is_refusing_new_connections() const=0;
  31. virtual ConnectionStatus get_connection_status() const=0;
  32. NetworkedMultiplayerPeer();
  33. };
  34. VARIANT_ENUM_CAST( NetworkedMultiplayerPeer::TransferMode )
  35. VARIANT_ENUM_CAST( NetworkedMultiplayerPeer::ConnectionStatus )
  36. #endif // NetworkedMultiplayerPeer_H