43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "CoreMinimal.h"
|
||
|
|
|
||
|
|
// Class FLpxSockets
|
||
|
|
//
|
||
|
|
// This class is responsible for creating outgoing and incoming
|
||
|
|
// sockets for the Luprex engine. It then relays data into and out
|
||
|
|
// of the Luprex engine.
|
||
|
|
//
|
||
|
|
// It only has one interesting method: Update(). This one method
|
||
|
|
// does all the communication for the Luprex engine. Note that
|
||
|
|
// there aren't any methods where Unreal can query the state
|
||
|
|
// of the FLpxSockets. That's because this class is for
|
||
|
|
// communication between Luprex and outside servers and clients,
|
||
|
|
// NOT for communication with Unreal.
|
||
|
|
//
|
||
|
|
// The FLpxSockets keeps a pointer to the EngineWrapper.
|
||
|
|
// The EngineWrapper must outlive the FLpxSockets.
|
||
|
|
//
|
||
|
|
// This class is an abstract base class. A derived class
|
||
|
|
// implements all the behavior.
|
||
|
|
//
|
||
|
|
|
||
|
|
class FLpxSockets;
|
||
|
|
struct EngineWrapper;
|
||
|
|
|
||
|
|
class FLpxSockets
|
||
|
|
{
|
||
|
|
protected:
|
||
|
|
FLpxSockets() {}
|
||
|
|
|
||
|
|
public:
|
||
|
|
// Create the Luprex socket system.
|
||
|
|
static FLpxSockets* Create(EngineWrapper *w);
|
||
|
|
|
||
|
|
// Delete the luprex socket system. Cleanly closes all sockets.
|
||
|
|
virtual ~FLpxSockets() {}
|
||
|
|
|
||
|
|
// The update routine relays data into and out of
|
||
|
|
// luprex via TCP/IP sockets.
|
||
|
|
virtual void Update() = 0;
|
||
|
|
};
|