worldofbalance / unity-game-client

Unity Client for World of Balance
http://smurf.sfsu.edu/~wob/
9 stars 8 forks source link

LBY - Refactors NetworkManager to use instance methods. #48

Closed Fito closed 8 years ago

Fito commented 8 years ago

This commit changes the way Cards of the Wild, Lobby and single player games interact with the NetworkManager class. All methods were previously static. These methods are now accessed through an instance of the NetworkManager class in the Game class.

Fito commented 8 years ago

@rujoota @rupalkhilari @anuagg Could you guys review these changes?

rupalkhilari commented 8 years ago

@Fito, the changes you made look good to me. The lobby buttons seemed to be missing in this one, so i pulled in the latest commits from development to test it out. The network manager seemed to be functioning as expected when i checked the changes in the convergence game. I was not able to see if they worked with card of wild since the MatchInit request wasn't being processed on the server with the wob-server development branch, although the client with your changes seemed to be sending the requests just fine. Perhaps @rujoota and the cow team will be able to give feedback on that. I shall keep a watch on this so that I can update the sea-divided client to use this common solution too. Thanks for integrating this !

rujoota commented 8 years ago

@Fito I tested it just like @rupalkhilari and it doesn't seem to be creating rooms anymore. Hence I cannot test it any further. I merged development branch into this branch for testing.

Fito commented 8 years ago

@rupalkhilari, @rujoota: Thanks for testing it! @rujoota is it not creating rooms for any games? or just for cards of the wild? This branch is configured to use the remote server, where creating rooms doesn't work. Did you test it with your local server?

rupalkhilari commented 8 years ago

@Fito @rujoota - i tested with the development branch of wob-server. I changed the Constants in the client to use 20038 - same as the development branch of the server https://github.com/worldofbalance/unity-game-client/blob/dev-lby-refactors-network-manager-methods/Assets/CWAssets/Scripts/Constants.cs#L14 The CoW player seemed to be able to join a room (Room ID 101), but the RequestMatchInit (201) on the server didnt seem to be executed, thus unity client didnt appear to enter the game scene. It seemed like the requests were being sent from the client side. But not sure if it is being sent by the Lobby network manager or the CoW network manager.

Also i am not sure if CoW server needs to test against a branch other than development.

This was the output on the server after startup:

127.0.0.1 is connecting... User '1' is connecting... User '1' has successfully logged in. The client is requesting for quiting... Data truncated for column 'play_time' at row 1 127.0.0.1 is connecting... User '2' is connecting... User '2' has successfully logged in. The client is requesting for quiting... Data truncated for column 'play_time' at row 1 New room created with ID: 101 Number of rooms: 1 Joined room: 101 Request ID [201] does not exist!

Request ID [201] does not exist!

rujoota commented 8 years ago

Also, we do not need heartbeat requests.