Guest User

Untitled

a guest
Jun 7th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.34 KB | None | 0 0
  1. // THIS
  2.  
  3. TNL_IMPLEMENT_RPC(GameConnection, c2sRequestLevelChange, (S32 newLevelIndex, bool isRelative), (newLevelIndex, isRelative),
  4.                               NetClassGroupGameMask, RPCGuaranteedOrdered, RPCDirClientToServer, 0)
  5. {
  6.     // Custom code here
  7. }
  8.  
  9.  
  10. // BECOMES THIS:
  11.  
  12.  
  13. class RPC_GameConnection_c2sRequestLevelChange: public TNL::RPCEvent
  14. {
  15. public:
  16.    TNL::FunctorDecl<void (GameConnection::*)(S32 newLevelIndex, bool isRelative)> mFunctorDecl;\
  17.    RPC_GameConnection_c2sRequestLevelChange() :
  18.          TNL::RPCEvent(RPCGuaranteedOrdered, RPCDirClientToServer), mFunctorDecl(
  19.                &GameConnection::c2sRequestLevelChange_remote)
  20.    {
  21.       mFunctor = &mFunctorDecl;
  22.    }
  23.    static TNL::NetClassRepInstance<RPC_GameConnection_c2sRequestLevelChange> dynClassRep;
  24.    virtual TNL::NetClassRep* getClassRep() const;
  25.    bool checkClassType(TNL::Object *theObject)
  26.    {
  27.       return dynamic_cast<GameConnection*>(theObject) != 0;
  28.    }
  29. };
  30. TNL::NetClassRep* RPC_GameConnection_c2sRequestLevelChange::getClassRep() const
  31. {
  32.    return &RPC_GameConnection_c2sRequestLevelChange::dynClassRep;
  33. }
  34. TNL::NetClassRepInstance<RPC_GameConnection_c2sRequestLevelChange> RPC_GameConnection_c2sRequestLevelChange::dynClassRep(
  35.       "RPC_GameConnection_c2sRequestLevelChange", NetClassGroupGameMask,
  36.       TNL::NetClassTypeEvent, 0);
  37. void GameConnection::c2sRequestLevelChange(S32 newLevelIndex, bool isRelative)
  38. {
  39.    if (!canPostNetEvent())
  40.       return;
  41.    RPC_GameConnection_c2sRequestLevelChange *theEvent =
  42.          new RPC_GameConnection_c2sRequestLevelChange;
  43.    theEvent->mFunctorDecl.set(newLevelIndex, isRelative);
  44.    postNetEvent(theEvent);
  45. }
  46. TNL::NetEvent* GameConnection::c2sRequestLevelChange_construct(
  47.       S32 newLevelIndex, bool isRelative)
  48. {
  49.    RPC_GameConnection_c2sRequestLevelChange *theEvent =
  50.          new RPC_GameConnection_c2sRequestLevelChange;
  51.    theEvent->mFunctorDecl.set(newLevelIndex, isRelative);
  52.    return theEvent;
  53. }
  54.  
  55. /*void className::name##_test args { RPC_##className##_##name *theEvent = new RPC_##className##_##name; theEvent->mFunctorDecl.set argNames ; TNL::PacketStream ps; theEvent->pack(this, &ps); ps.setBytePosition(0); theEvent->unpack(this, &ps); theEvent->process(this); }*/
  56.  
  57. void GameConnection::c2sRequestLevelChange_remote(S32 newLevelIndex,
  58.       bool isRelative)
  59. {
  60.     // Custom code here
  61. }
Advertisement
Add Comment
Please, Sign In to add comment