Page 1 of 1

.NET DLL not updating active room ID when changed by server

Posted: 23 Mar 2010, 14:31
by mugambs
We are noticing that the smartfoxclient.dll used in our Unity app does not pick up changes to the activeRoom when its changed by the server.

So when we move the player to a new room from the server, the DLL doesnt get notified of it. Is there any way we can force this to pick up the change? Is it a bug in the client API? Bad design on our server side?

Thx

Mugambs

Posted: 25 Mar 2010, 03:15
by cosmicmesh
I am having a similar problem, using Unity and SFS.

For example, the server will say the user is in room 2, but the client always says activeRoom is -1.

Posted: 25 Mar 2010, 07:36
by ThomasLund
I dont know the answer to it - I dont do much extension development myself. Hope Marco will chime in.

I would expect that your extension code needs to notify the client of the change - sending out e.g. a new room list or similar. So that task falls onto you as the extension developer. But as I said - my guess based on how you also have to handle some things manually when overriding the login.

So try to ask your question in the extension forums - or it might even be documented already in the documentation / examples.

/Thomas

Posted: 25 Mar 2010, 16:05
by mugambs
Thanks Thomas,

I moved the topic to the Extensions forum, and added some additional observations.

http://forums.smartfoxserver.com/viewtopic.php?p=28760

Posted: 26 Mar 2010, 06:36
by ThomasLund
And Marco - dont hesitate to comment!! I'm simply guessing.

And Mugambs - I dont rule out bugs, so dont hesitate to poke me again

/Thomas

Posted: 28 Jul 2010, 20:54
by ThomasLund
Was this ever solved?

Compiling the list of todos for next bug release, so wanted to check

Posted: 01 Aug 2010, 11:52
by mugambs
Not sure you could call it a solution, but we had to carefully remove all instances where we got the active room from the client DLL.

We now track the current room as a global var in our unity scripts.

Since we also stopped using the built in joinRoom() function, it made sense to do it this way.