2017-02-23 1 views
0

내 SmartFoxServer 확장에서 Unity3d 게임으로 배열을 전달하고 있지만 구문 분석이 힘듭니다. 나는 각각의 문자열 배열을 분석하는 방법을 잘 모르겠습니다,Unity3d/SmartFoxServer Parse ISFSArray

ISFSArray myNewArray= dataObject.GetSFSArray("myArray"); 

그러나 :

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# 코드에서, 나는 다음을 수행 : 여기가 내 확장에 보낼 방법이다. 나는 이와 같은 것을 시도했다 :

for (int i = 0; i <= myNewArray.Size(); i++) 
{ 
    String w = cardsDealt[0]; 
} 

그러나 이것은 오류를 준다; 이 작업을 수행하는 방법에 대한 팁 :

감사

답변

0

이 sfsArray에 문자열을 넣지 마십시오, 하나 sfsObject에 넣어 :

서버 :

ISFSObject resObj = new SFSObject(); 
resObj.putUtfString("name1",value1); 
resObj.putUtfString("name2",value2); 
resObj.putUtfString("name3",value3); 
send("mySentData", resObj, gameExt.getGameRoom().getUserList()); 

클라이언트 :

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"); 
    } 
}