I send a message with SFSObject to smartfox server server
as following script
public void SendMessageToOther(SFSObject dataObj)
{
Room room = smartFox.LastJoinedRoom;
smartFox.Send(new PublicMessageRequest(dataObj.GetUtfString(“type”).ToString()+“:”+dataObj.GetFloat(“PositionIdx”).ToString(),dataObj));
}
And I use the following script to parse the data
void OnPublicMessage2(BaseEvent evt) {
try {
string message = (string)evt.Params["message"];
User sender = (User)evt.Params["sender"];
// We use lock here to ensure cross-thread safety on the messages collection
lock (messagesLocker) {
messages.Add(sender.Name + " said " + message);
}
ISFSObject dt = (SFSObject)evt.Params["params"];
//Debug.Log(dt.GetFloat("type").ToString());
chatScrollPosition.y = Mathf.Infinity;
Debug.Log("User " + sender.Name + " said: " + message);
if(!sender.IsItMe)
{ if(message.Split(':')[0]=="moveEyeball")
parentObject.SendMessage("EyeBallMove",message.Split(':')[1]);
if(message.Split(':')[0]=="movePage")
gameObject.SendMessage("MoveToPosition",message.Split(':')[1]);
}//MoveCameraToPositon
}
catch (Exception ex) {
Debug.Log("Exception handling public message: "+ex.Message+ex.StackTrace);
}
}
I can get the message string from the parameter but I can’t get SFSObject from the parameter
Does anyone know how to solve this problem?