Appwarp не может создать комнату
Я создал небольшую однопользовательскую игру, которую сейчас пытаюсь адаптировать для многопользовательской игры. Это основано, поэтому я использую 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
Пожалуйста помогите.
1 ответ
Догадаться. На самом деле использовалась неверная DLL и нужно было изменить вызов функции:
SC_App42Kit.App42Init(apiKey,secretKey);
SC_AppWarpKit.WarpInit(apiKey,secretKey);
SC_AppWarpKit.connectToAppWarp(userName);
Вызов для создания комнаты и т. Д. Был перемещен в обратный вызов connectToAppWarp.