public CoopNetworkManager.ConnectData GetWebSockConnectData() { if (fieldData.field == null) { return(null); } int num = -1; List <FieldModel.SlotInfo> slotInfos = fieldData.field.slotInfos; int i = 0; for (int count = slotInfos.Count; i < count; i++) { if (slotInfos[i].userId == MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id) { num = i; break; } } if (num < 0) { return(null); } CoopNetworkManager.ConnectData connectData = new CoopNetworkManager.ConnectData(); connectData.path = fieldData.field.wsHost; connectData.ports = fieldData.field.wsPorts; connectData.fromId = fieldData.field.slotInfos[num].userId; connectData.ackPrefix = num; connectData.roomId = fieldData.field.id; connectData.token = fieldData.field.slotInfos[num].token; return(connectData); }
private static void StartCoop(Action <bool, bool> call_back = null, bool is_reentry = false) { MonoBehaviourSingleton <CoopManager> .I.Clear(); CoopNetworkManager.ConnectData webSockConnectData = MonoBehaviourSingleton <FieldManager> .I.GetWebSockConnectData(); MonoBehaviourSingleton <CoopNetworkManager> .I.ConnectAndRegist(webSockConnectData, delegate(bool is_connect, bool is_regist) { if (is_regist) { FieldModel.Param fieldData = MonoBehaviourSingleton <FieldManager> .I.fieldData; MonoBehaviourSingleton <CoopManager> .I.coopRoom.Activate(fieldData.field.slotInfos); if (call_back != null) { call_back(is_connect, is_regist); } } else if (is_reentry) { if (call_back != null) { call_back(is_connect, is_regist); } } else { MonoBehaviourSingleton <CoopApp> .I.LeaveWithParty(delegate { if (call_back != null) { call_back(is_connect, is_regist); } }, false, false); } }); }
private static void StartCoopOffline(Action <bool, bool, bool> call_back = null) { if (!CoopWebSocketSingleton <KtbWebSocket> .IsValidConnected()) { StageObjectManager.CreatePlayerInfo createPlayerInfo = MonoBehaviourSingleton <StatusManager> .I.GetCreatePlayerInfo(); if (createPlayerInfo != null) { CharaInfo chara_info = createPlayerInfo.charaInfo; if (MonoBehaviourSingleton <CoopOfflineManager> .IsValid()) { MonoBehaviourSingleton <CoopOfflineManager> .I.Activate(); } CoopNetworkManager.ConnectData conn_data = new CoopNetworkManager.ConnectData(); MonoBehaviourSingleton <CoopNetworkManager> .I.Regist(conn_data, delegate(bool is_regist) { if (is_regist) { List <FieldModel.SlotInfo> slot_infos = new List <FieldModel.SlotInfo> { new FieldModel.SlotInfo { userId = chara_info.userId, userInfo = (chara_info as FriendCharaInfo) } }; MonoBehaviourSingleton <CoopManager> .I.coopRoom.Activate(slot_infos); } if (call_back != null) { call_back(true, true, is_regist); } }); } } }