2015-10-03 1 views
0

Я создал небольшую игру с одним игроком, которую я сейчас пытаюсь адаптировать к многопользовательской игре. Он повернулся, поэтому я использую Appwarp. У меня есть этот код, но я получаю «Null исключение указателя» для этой линии:Appwarp не может создать комнату

SC_AppWarpKit.CreateTurnBaseRoom("BattleShips", userName, 2, null, 60); 

Обратите внимание, что я не создавать игровые объекты для AppWarpKit, искал примеры в Интернете, но не смогли найти ничего подобного. APIKEY и SECRETKEY пустые для неприкосновенности частной жизни.

private string apiKey = ""; 
private string secretKey = ""; 
private string email = "@gmail.com"; 
private string userName = "mrnobody"; 
private string roomId = ""; 
private List<string> rooms; 
private string opponentName = ""; 

private bool isMyTurn = false; 

void OnEnable() 
{ 
     SC_Listener_App42.onCreatedUserApp42 += onCreatedUserApp42; 
     SC_Listener_App42.OnExceptionFromApp42 += OnExceptionFromApp42; 

     SC_Listener_AppWarp.onConnectToAppWarp += onConnectToAppWarp; 
     SC_Listener_AppWarp.onDisconnectFromAppWarp += onDisconnectFromAppWarp; 
     SC_Listener_AppWarp.OnMatchedRooms += OnGetMatchedRoomsDone; 
     SC_Listener_AppWarp.OnSubscribeToRoom += onSubscribeToRoom; 
     SC_Listener_AppWarp.OnUnSubscribeToRoom += onUnSubscribeToRoom; 
     SC_Listener_AppWarp.OnJoinToRoom += OnJoinToRoom; 
     SC_Listener_AppWarp.OnLeaveFromRoom += OnLeaveFromRoom; 
     SC_Listener_AppWarp.OnCreateRoomDone += OnCreateRoomDone; 
     SC_Listener_AppWarp.onGetLiveRoomInfo += OnGetLiveRoomInfo; 
     SC_Listener_AppWarp.OnSendPrivateUpdate += OnSendPrivateUpdate; 
     SC_Listener_AppWarp.OnStartGameDone += OnStartGameDone; 
     SC_Listener_AppWarp.OnStopGameDone += OnStopGameDone; 
     SC_Listener_AppWarp.OnRoomCreated += OnRoomCreated; 
     SC_Listener_AppWarp.OnUserJoinRoom += OnUserJoinRoom; 
     SC_Listener_AppWarp.OnUserLeftRoom += OnUserLeftRoom; 
     SC_Listener_AppWarp.OnPrivateUpdateReceived += OnPrivateUpdateReceived; 
     SC_Listener_AppWarp.OnPrivateChatReceived += OnPrivateChatReceived; 
     SC_Listener_AppWarp.OnGameStarted += OnGameStarted; 
     SC_Listener_AppWarp.OnGameStopped += OnGameStopped; 
     SC_Listener_AppWarp.OnSendMove += OnSendMove; 
     SC_Listener_AppWarp.OnMoveCompleted += OnMoveCompleted; 
} 

void OnDisable() 
{ 
    SC_Listener_App42.onCreatedUserApp42 -= onCreatedUserApp42; 
    SC_Listener_App42.OnExceptionFromApp42 -= OnExceptionFromApp42; 

    SC_Listener_App42.OnExceptionFromApp42 -= OnExceptionFromApp42; 
    SC_Listener_AppWarp.onConnectToAppWarp -= onConnectToAppWarp; 
    SC_Listener_AppWarp.onDisconnectFromAppWarp -= onDisconnectFromAppWarp; 
    SC_Listener_AppWarp.OnMatchedRooms -= OnGetMatchedRoomsDone; 
    SC_Listener_AppWarp.OnSubscribeToRoom -= onSubscribeToRoom; 
    SC_Listener_AppWarp.OnUnSubscribeToRoom -= onUnSubscribeToRoom; 
    SC_Listener_AppWarp.OnJoinToRoom -= OnJoinToRoom; 
    SC_Listener_AppWarp.OnLeaveFromRoom -= OnLeaveFromRoom; 
    SC_Listener_AppWarp.OnCreateRoomDone -= OnCreateRoomDone; 
    SC_Listener_AppWarp.onGetLiveRoomInfo -= OnGetLiveRoomInfo; 
    SC_Listener_AppWarp.OnSendPrivateUpdate -= OnSendPrivateUpdate; 
    SC_Listener_AppWarp.OnStartGameDone -= OnStartGameDone; 
    SC_Listener_AppWarp.OnStopGameDone -= OnStopGameDone; 
    SC_Listener_AppWarp.OnRoomCreated -= OnRoomCreated; 
    SC_Listener_AppWarp.OnUserJoinRoom -= OnUserJoinRoom; 
    SC_Listener_AppWarp.OnUserLeftRoom -= OnUserLeftRoom; 
    SC_Listener_AppWarp.OnPrivateUpdateReceived -= OnPrivateUpdateReceived; 
    SC_Listener_AppWarp.OnPrivateChatReceived -= OnPrivateChatReceived; 
    SC_Listener_AppWarp.OnGameStarted -= OnGameStarted; 
    SC_Listener_AppWarp.OnGameStopped -= OnGameStopped; 
    SC_Listener_AppWarp.OnSendMove -= OnSendMove; 
    SC_Listener_AppWarp.OnMoveCompleted -= OnMoveCompleted; 

} 

void Start() 
{ 
    SC_App42Kit.App42Init(apiKey,secretKey); 
    SC_AppWarpKit.WarpInit(apiKey,secretKey); 
    SC_AppWarpKit.CreateTurnBaseRoom("BattleShips", userName, 2, null, 60); 
} 

В отдельной папке DLL у меня есть: App42_Unity3D_SDK_2.9.1.dll AppWarpUnity.dll

Пожалуйста помогите.

ответ

0

Выяснил это. действительно использовал неправильный DLL и необходимо изменить вызов функции:

SC_App42Kit.App42Init(apiKey,secretKey); 
    SC_AppWarpKit.WarpInit(apiKey,secretKey); 
    SC_AppWarpKit.connectToAppWarp(userName); 

Вызов, чтобы создать комнату и так далее был перенесен на обратный вызов в «connectToAppWarp».