The test model that I'm using adds about 25000 strings(within the UTFStringArray limits according to documents). I've tried splitting the the string array into smaller packages of 1000 and it still silently fails.
Any Ideas?
Code: Select all
public override void CreateRoom(SessionData sessionData, List<RoomVariable> roomVariables = null, bool autoJoin = true)
{
RoomSettings settings = new Sfs2X.Requests.RoomSettings(sessionData.name);
settings.Password = sessionData.password;
settings.MaxUsers = 100;
settings.MaxSpectators = 0;
settings.IsGame = true;
settings.MaxVariables = short.MaxValue;
settings.GroupId = "reviews";
if(roomVariables != null)
{
settings.Variables = roomVariables;
}
else
{
ISFSObject modelSFSObject = new SFSObject();
modelSFSObject.PutInt(SFSVariableTypes.OBJECT_TYPE, (int)NetworkObjectID.MODEL);
modelSFSObject.PutUtfString(SFSVariableTypes.ID, sessionData.model);
modelSFSObject.PutUtfString(SFSVariableTypes.DATA, sessionData.modelUUID);
modelSFSObject.PutUtfStringArray(SFSVariableTypes.BULK_DATA, sessionData.modelParts.ToArray());
ISFSObject environmentSFSObject = new SFSObject();
environmentSFSObject.PutInt(SFSVariableTypes.OBJECT_TYPE, (int)NetworkObjectID.ENVIRONMENT);
environmentSFSObject.PutUtfString(SFSVariableTypes.ID, sessionData.environment);
environmentSFSObject.PutUtfString(SFSVariableTypes.DATA, sessionData.environmentUUID);
settings.Variables = new List<RoomVariable>()
{
new SFSRoomVariable(SFSVariableTypes.LOADED_MODEL_ID, modelSFSObject),
new SFSRoomVariable(SFSVariableTypes.LOADED_ENVIRONMENT_ID, environmentSFSObject)
};
}
SFSNetworkManager.SmartFoxServer.Send(new CreateRoomRequest(settings, autoJoin));
}