I am using buddy variables, and when my OnBuddyListUpdate delegate is called, the "buddy" parameter does not contain the information in the message it just received.
e.g. when receiving this:
Code: Select all
[SFS DEBUG] [ RECEIVED ]: <msg t='sys'><body action='bUpd' r='-1'><b s='1' i='0'><n><![CDATA[XXXX XXXXXXX]]></n><vs><v n='rm'><![CDATA[Big Tree Forest]]></v></vs></b></body></msg>, (len: 153)
this is called:
Code: Select all
public void OnBuddyListUpdate( Buddy buddy )
{
Debug.Log( "OnBuddyListUpdate: " );
foreach( string v in buddy.GetVariables().Keys )
{
Debug.Log( "\t" + v + " --- " + buddy.GetVariable( v ) );
}
SendMessage( "BuddyListUpdate", buddy );
}
and the previous value of the variable 'rm' is printed out.
Am I using the API incorrectly? I assumed the buddy parameter would contain the updated buddy, not the old one. Do I need to get it from somewhere else?
Thanks in advance.