Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 20, 2005, 2:51:37 PM (18 years ago)
Author:
rennerc
Message:

synchronizeable: added sender parameter to writeBytes
network_stream: creates now a network_game_manager
network_game_manager: implemented some functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/network/src/lib/network/network_game_manager.h

    r6139 r6190  
    1818 * protocol definition
    1919 *
    20  *  CREATE_ENTITY:      CLASS_ID, UNIQUE_ID, OWNER
    21  *  REMOVE_ENTITY:      UNIQUE_ID
     20 *  CREATE_ENTITY:       CLASS_ID, UNIQUE_ID, OWNER
     21 *  REMOVE_ENTITY:       UNIQUE_ID
    2222 *
    23  *  CREATE_ENTITY_LIST: NUMBER, [CLASS_ID, UNIQUE_ID, OWNER][0..NUMBER]
    24  *  REMOVE_ENTITY_LIST: NUMBER, [UNIQUE_ID][0..NUMBER]
     23 *  CREATE_ENTITY_LIST:  NUMBER, [CLASS_ID, UNIQUE_ID, OWNER][0..NUMBER]
     24 *  REMOVE_ENTITY_LIST:  NUMBER, [UNIQUE_ID][0..NUMBER]
    2525 *
    26  *  REQUEST_CREATE:     CLASS_ID
    27  *  REQUEST_REMOVE:     UNIQUE_ID
     26 *  REQUEST_CREATE:      CLASS_ID
     27 *  REQUEST_REMOVE:      UNIQUE_ID
    2828 *
    29  *  REQUEST_SYNC:       UNIQUE_ID
    30  *  REQUEST_SYNC_LIST:  NUMBER, [UNIQUE_ID][0..NUMBER]
     29 *  REQUEST_CREATE_LIST: NUMBER, [CLASS_ID][0..NUMBER]
     30 *  REQUEST_CREATE_LIST: NUMBER, [UNIQUE_ID][0..NUMBER]
     31 *
     32 *  REQUEST_SYNC:        UNIQUE_ID
     33 *  REQUEST_SYNC_LIST:   NUMBER, [UNIQUE_ID][0..NUMBER]
    3134 *
    3235 *
    3336 */
    3437
     38typedef enum NetworkGameManagerProtocol{
     39  CREATE_ENTITY = 0,
     40  REMOVE_ENTITY,
     41  REQUEST_CREATE,
     42  REQUEST_SYNC
     43};
    3544
    36 
    37 
    38 
    39 
    40 
    41 
    42 
     45struct clientBuffer
     46{
     47  int length;
     48  int maxLength;
     49  byte * buffer;
     50};
    4351
    4452/*!
     
    5159    ~NetworkGameManager();
    5260
    53     virtual void writeBytes(const byte* data, int length);
     61    virtual void writeBytes(const byte* data, int length, int sender);
    5462    virtual int readBytes(byte* data, int maxLength, int * reciever);
    5563    virtual void writeDebug() const;
     
    5765
    5866    void createEntity(int classID);
    59     void createEntityList(int* classIDList);
    6067    void removeEntity(int uniqueID);
    61     void removeEntityList(int* uniqueIDList);
    6268
    6369    void sync(int uniqueID);
    64     void syncList(int* uniqueIDList);
    6570
     71    void sendEntityList(int userID);
    6672
    6773  private:
    6874    void requestCreateEntity(int classID);
    6975    void executeCreateEntity(int classID);
    70     void requestCreateEntityList(int* classIDList);
    71     void executeCreateEntityList(int* classIDList);
    7276
    7377    void requestRemoveEntity(int uniqueID);
    7478    void executeRemoveEntity(int uniqueID);
    75     void requestRemoveEntityList(int* uniqueIDList);
    76     void executeRemoveEntityList(int* uniqueIDList);
    7779
    78 
     80    void doCreateEntity(ClassID classID, int uniqueID, int owner);
     81    void doRemoveEntity(int uniqueID);
     82    void doRequestSync(int uniqueID, int userID);
    7983
    8084    bool canCreateEntity(int classID);
    8185
    82 
     86    void resizeBufferVector(int n);
    8387
    8488  private:
    85     byte*          inBuffer;
    86     byte*          outBuffer;
     89    std::vector<clientBuffer>     inBuffer;
     90    std::vector<clientBuffer>     outBuffer;
    8791};
    8892
Note: See TracChangeset for help on using the changeset viewer.