Network.pkg 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. $#include "Network/Network.h"
  2. class Network
  3. {
  4. bool Connect(const String address, unsigned short port, Scene* scene, const VariantMap& identity = Variant::emptyVariantMap);
  5. void Disconnect(int waitMSec = 0);
  6. bool StartServer(unsigned short port);
  7. void StopServer();
  8. void BroadcastMessage(int msgID, bool reliable, bool inOrder, const VectorBuffer& msg, unsigned contentID = 0);
  9. void BroadcastRemoteEvent(StringHash eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  10. void BroadcastRemoteEvent(const String eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  11. void BroadcastRemoteEvent(Scene* scene, StringHash eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  12. void BroadcastRemoteEvent(Scene* scene, const String eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  13. void BroadcastRemoteEvent(Node* node, StringHash eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  14. void BroadcastRemoteEvent(Node* node, const String eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  15. void SetUpdateFps(int fps);
  16. void SetSimulatedLatency(int ms);
  17. void SetSimulatedPacketLoss(float loss);
  18. void RegisterRemoteEvent(StringHash eventType);
  19. void RegisterRemoteEvent(const String eventType);
  20. void UnregisterRemoteEvent(StringHash eventType);
  21. void UnregisterRemoteEvent(const String eventType);
  22. void UnregisterAllRemoteEvents();
  23. void SetPackageCacheDir(const String path);
  24. void SendPackageToClients(Scene* scene, PackageFile* package);
  25. // SharedPtr<HttpRequest> MakeHttpRequest(const String url, const String verb = String::EMPTY, const Vector<String>& headers = Vector<String>(), const String postData = String::EMPTY);
  26. tolua_outside HttpRequest* NetworkMakeHttpRequest @ MakeHttpRequest(const String url, const String verb = String::EMPTY, const Vector<String>& headers = Vector<String>(), const String postData = String::EMPTY);
  27. int GetUpdateFps() const;
  28. int GetSimulatedLatency() const;
  29. float GetSimulatedPacketLoss() const;
  30. Connection* GetServerConnection() const;
  31. bool IsServerRunning() const;
  32. bool CheckRemoteEvent(StringHash eventType) const;
  33. const String GetPackageCacheDir() const;
  34. tolua_property__get_set int updateFps;
  35. tolua_property__get_set int simulatedLatency;
  36. tolua_property__get_set float simulatedPacketLoss;
  37. tolua_readonly tolua_property__get_set Connection* serverConnection;
  38. tolua_readonly tolua_property__is_set bool serverRunning;
  39. tolua_property__get_set String packageCacheDir;
  40. };
  41. Network* GetNetwork();
  42. tolua_readonly tolua_property__get_set Network* network;
  43. ${
  44. #define TOLUA_DISABLE_tolua_NetworkLuaAPI_GetNetwork00
  45. static int tolua_NetworkLuaAPI_GetNetwork00(lua_State* tolua_S)
  46. {
  47. return ToluaGetSubsystem<Network>(tolua_S);
  48. }
  49. #define TOLUA_DISABLE_tolua_get_network_ptr
  50. #define tolua_get_network_ptr tolua_NetworkLuaAPI_GetNetwork00
  51. static HttpRequest* NetworkMakeHttpRequest(Network* network, const String& url, const String& verb = String::EMPTY, const Vector<String>& headers = Vector<String>(), const String postData = String::EMPTY)
  52. {
  53. if (!network)
  54. return 0;
  55. return network->MakeHttpRequest(url, verb, headers, postData).Detach();
  56. }
  57. $}