public void SignIn(SessionManager.ConnectToChannelDelegate callback, Session.ConnectToChannelDelegate handler) { string appleGameCenterKey = NMGPlayerPrefs.GetChannelKey(NMGChannel.GameCenter); if (!string.IsNullOrEmpty(appleGameCenterKey)) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.SUCCESS, "Success"); callback(result, NMGChannel.GameCenter, appleGameCenterKey, handler); } else { ChannelLoginController.Show(NMGChannel.GameCenter, appleGameCenterUserList, callback, handler); } }
private void OnChannelOptionSignIn(Result result, Session.SignInDelegate handler) { if (connectToChannelHandler != null) { connectToChannelHandler(result, null); } else if (selectChannelConnectOptionHandler != null) { selectChannelConnectOptionHandler(result); } connectToChannelHandler = null; selectChannelConnectOptionHandler = null; }
public void ConnectToChannel(int channel, Session.ConnectToChannelDelegate handler) { if (String.IsNullOrEmpty(gameToken)) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.NOT_AUTHENTICATED, "Not signed"); if (handler != null) { handler(result, null); } } else { switch ((NMGChannel)channel) { case NMGChannel.EveryNetmarble: EveryNetmarbleManager.Instance.SignIn(OnConnectToChannel, handler); break; case NMGChannel.Facebook: FacebookManager.Instance.SignIn(OnConnectToChannel, handler); break; case NMGChannel.Kakao: KakaoManager.Instance.SignIn(OnConnectToChannel, handler); break; case NMGChannel.Google: GoogleManager.Instance.SignIn(OnConnectToChannel, handler); break; case NMGChannel.GameCenter: GameCenterManager.Instance.SignIn(OnConnectToChannel, handler); break; case NMGChannel.Twitter: TwitterManager.Instance.SignIn(OnConnectToChannel, handler); break; //case NMGChannel.Naver: // NMPlayModeNaverManager.Instance.SignIn(OnConnectToChannel, handler); // break; } } }
public int SetConnectToChannelCallback(Session.ConnectToChannelDelegate callback) { if (null == callback) { return(0); } int handlerNum = CallbackManager.AddHandler(delegate(CallbackMessage message) { Log.Debug("[SessionCallback] ConnectToChannelCallback: " + message.ToString()); Result result = message.GetResult(); List <ChannelConnectOption> channelConnectOptionList = null; IList optionList = message.GetList("channelConnectOptionList"); if (null != optionList) { channelConnectOptionList = new List <ChannelConnectOption>(); foreach (IDictionary option in optionList) { int type = option.GetInt("type"); string playerId = option.GetString("playerId"); int channelCode = option.GetInt("channelCode"); string channelId = option.GetString("channelId"); string region = option.GetString("region"); ChannelConnectOption channelConnectOption = new ChannelConnectOption((ChannelConnectOptionType)type, playerId, channelCode, channelId, region); channelConnectOptionList.Add(channelConnectOption); } } if (null != callback) { callback(result, channelConnectOptionList); } }); return(handlerNum); }
public void ConnectToChannel(int channelCode, Session.ConnectToChannelDelegate callback) { int handlerNum = sessionCallback.SetConnectToChannelCallback(callback); nmg_session_connectToChannel(channelCode, handlerNum); }
public void ConnectToChannel(int channelCode, Session.ConnectToChannelDelegate callback) { SessionManager.Instance.ConnectToChannel(channelCode, callback); }
private void SelectOptionInConnectToChannel(ChannelConnectOption option, Session.ConnectToChannelDelegate handler) { connectToChannelHandler = handler; SelectChannelConnectOption(option, null); }
void OnConnectToChannel(Result result, NMGChannel channel, string channelKey, Session.ConnectToChannelDelegate handler) { if (result.IsSuccess()) { ChannelConnectionData savedData = testData.GetChannelConnectionData(playerId); string channelKeyAtPlayerID = savedData.GetChannelKeyByChannel(channel); ChannelConnectionData savedChannelData = testData.GetChannelConnectionData(channel, channelKey); if (string.IsNullOrEmpty(channelKeyAtPlayerID)) { if (savedChannelData == null) { // ok 연결 savedData.SetChannelKeyByChannel(channel, channelKey); NMGPlayerPrefs.SetChannelKey(channel, channelKey); Result channelResult = new Result(Result.NETMARBLES_DOMAIN, Result.SUCCESS, "Success"); Log.Debug("[NMGPlayMode.SessionManager] ConnectToChannel OK (" + channelResult + ")"); if (handler != null) { handler(channelResult, null); } } else { // 다른pid에 연결 되어있음 if (channel == NMGChannel.Kakao) { SelectOptionInConnectToChannel(new ChannelConnectOption(ChannelConnectOptionType.LoadChannelConnection, savedChannelData.PlayerId, (int)channel, channelKey, savedChannelData.GameRegion), handler); return; } List <ChannelConnectOption> channelConnectOptionList = new List <ChannelConnectOption>(); if (channel != NMGChannel.GameCenter) { channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.Cancel, savedData.PlayerId, (int)channel, null, savedData.GameRegion)); } //channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.UpdateChannelConnection, savedData.PlayerId, channel, channelKey, savedData.GameRegion)); channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.LoadChannelConnection, savedChannelData.PlayerId, (int)channel, channelKey, savedChannelData.GameRegion)); Result channelResult = new Result(Result.NETMARBLES_DOMAIN, Result.CONNECT_CHANNEL_OPTION_USED_CHANNELID, "Please select channel connect option."); Log.Debug("[NMGPlayMode.SessionManager] ConnectToChannel Fail(" + channelResult + ")"); if (handler != null) { handler(channelResult, channelConnectOptionList); } } } else { if (savedChannelData == null) { if (channelKeyAtPlayerID.Equals(channelKey)) { // 나올 수 없음 } else { // 채널 변경하려고 함 if (channel == NMGChannel.Kakao) { SelectOptionInConnectToChannel(new ChannelConnectOption(ChannelConnectOptionType.CreateChannelConnection, null, (int)channel, channelKey, NMGPlayerPrefs.GetRegion()), handler); return; } List <ChannelConnectOption> channelConnectOptionList = new List <ChannelConnectOption>(); if (channel != NMGChannel.GameCenter) { channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.Cancel, savedData.PlayerId, (int)channel, channelKeyAtPlayerID, savedData.GameRegion)); } channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.CreateChannelConnection, null, (int)channel, channelKey, NMGPlayerPrefs.GetRegion())); Result channelResult = new Result(Result.NETMARBLES_DOMAIN, Result.CONNECT_CHANNEL_OPTION_NEW_CHANNELID, "Please select channel connect option."); Log.Debug("[NMGPlayMode.SessionManager] ConnectToChannel Fail(" + channelResult + ")"); if (handler != null) { handler(channelResult, channelConnectOptionList); } } } else { if (channelKeyAtPlayerID.Equals(channelKey)) { // 같은 거 ok NMGPlayerPrefs.SetChannelKey(channel, channelKey); Result channelResult = new Result(Result.NETMARBLES_DOMAIN, Result.SUCCESS, "Success"); Log.Debug("[NMGPlayMode.SessionManager] ConnectToChannel OK (" + channelResult + ")"); if (handler != null) { handler(channelResult, null); } } else { //bothChannelIDsMappedPlayerIDs 각각 연결되어있음 if (channel == NMGChannel.Kakao) { SelectOptionInConnectToChannel(new ChannelConnectOption(ChannelConnectOptionType.LoadChannelConnection, savedChannelData.PlayerId, (int)channel, channelKey, savedChannelData.GameRegion), handler); return; } List <ChannelConnectOption> channelConnectOptionList = new List <ChannelConnectOption>(); if (channel != NMGChannel.GameCenter) { channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.Cancel, savedData.PlayerId, (int)channel, channelKeyAtPlayerID, savedData.GameRegion)); } channelConnectOptionList.Add(new ChannelConnectOption(ChannelConnectOptionType.LoadChannelConnection, savedChannelData.PlayerId, (int)channel, channelKey, savedChannelData.GameRegion)); Result channelResult = new Result(Result.NETMARBLES_DOMAIN, Result.CONNECT_CHANNEL_OPTION_USED_CHANNELID, "Please select channel connect option."); Log.Debug("[NMGPlayMode.SessionManager] ConnectToChannel Fail(" + channelResult + ")"); if (handler != null) { handler(channelResult, channelConnectOptionList); } } } } } else { if (handler != null) { handler(result, null); } } }
public void ConnectToChannel(int channelCode, Session.ConnectToChannelDelegate callback) { }
public void ConnectToChannel(int channelCode, Session.ConnectToChannelDelegate callback) { int handlerNum = sessionCallback.SetConnectToChannelCallback(callback); sessionAndroidClass.CallStatic("nmg_session_connectToChannel", channelCode, handlerNum); }
public static void Show(NMGChannel channel, List <TestUserData> userList, SessionManager.ConnectToChannelDelegate callback, Session.ConnectToChannelDelegate handler) { Close(); loginPanel = (GameObject)Instantiate(Resources.Load("NMGPlayModeChannelLoginPanel")); //loginPanel = (GameObject)Instantiate(EditorGUIUtility.Load("NMPlayModeChannelLoginPanel.prefab")); ChannelLoginController controller = loginPanel.transform.FindChild("LoginPanel").gameObject.GetComponent <ChannelLoginController>(); controller.callback = callback; controller.userList = userList; controller.channel = channel; controller.handler = handler; controller.SetChannel(); }