首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity3d/SmartFoxServer解析ISFSArray

Unity3d/SmartFoxServer解析ISFSArray
EN

Stack Overflow用户
提问于 2017-02-23 09:37:49
回答 1查看 260关注 0票数 0

我正在将一个数组从我的SmartFoxServer扩展传递给我的Unity3d游戏,但是我在解析时遇到了困难。下面是我在我的扩展中发送它的方式:

代码语言:javascript
复制
SFSObject resObj = new SFSObject();  
ISFSArray myArray= new SFSArray();

myArray.addUtfString("some String");
myArray.addUtfString("another string");
myArray.addUtfString("more string");

resObj.putSFSArray("myArray", myArray);
send("mySentData", resObj, gameExt.getGameRoom().getUserList()); 

在我的Unity3d C#代码中,我执行以下操作:

代码语言:javascript
复制
ISFSArray myNewArray= dataObject.GetSFSArray("myArray");

但是,我不确定如何解析每个字符串的数组。我尝试过这样的东西:

代码语言:javascript
复制
 for (int i = 0; i <= myNewArray.Size(); i++)
 {
   String w = cardsDealt[0];
 }

但这会给出一个错误;关于如何做到这一点的任何提示:

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 01:46:00

不要将字符串放在sfsArray中,将它们放在一个sfsObject中:

服务器:

代码语言:javascript
复制
ISFSObject resObj = new SFSObject();
resObj.putUtfString("name1",value1);
resObj.putUtfString("name2",value2);
resObj.putUtfString("name3",value3);
send("mySentData", resObj, gameExt.getGameRoom().getUserList());

客户端:

代码语言:javascript
复制
private void onExtensionResponse(BaseEvent evt)
{
    string cmd = evt.Params["cmd"].ToString();
    if(cmd == "mySentData")
    {
        ISFSObject dataObject= evt.Params["params"] as ISFSObject;

        string str1 = dataObject.GetUtfString("name1");
        string str2 = dataObject.GetUtfString("name2");
        string str3 = dataObject.GetUtfString("name3");
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42405506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档