public static void ProcessConfigResponse(ResponseEvent response) { if(response.data != null){ GameConfigData = response.data.Print(false); SpilUnityImplementationBase.fireConfigUpdatedEvent(); } }
public static void ProcessGameStateResponse(ResponseEvent response) { if (response.action != null) { if (response.action.ToLower ().Trim ().Equals ("update")) { ProcessMyGameStateResponse (response.data); } else if (response.action.ToLower ().Trim ().Equals ("otherusers")) { ProcessOtherUsersGameStateResponse (response.data); } } }
public PersonaClient(string assertion, string audience, ResponseEvent onResponse, ExceptionEvent onException = null) { Assertion = assertion; Audience = audience; OnResponse = onResponse; OnException = onException; Request = null; PostBytes = null; }
public static void ProcessRewardResponse(ResponseEvent response) { string reason = ""; if (RewardManager.rewardFeatureType.ToString().ToLower().Trim().Equals(RewardManager.DeepLink)) { reason = PlayerDataUpdateReasons.Deeplink; } else if (RewardManager.rewardFeatureType.ToString().ToLower().Trim().Equals(RewardManager.PushNotification)) { reason = PlayerDataUpdateReasons.PushNotification; } if (RewardManager.rewardType == Spil.TokenRewardTypeEnum.EXTERNAL) { JSONObject rewards = new JSONObject(JSONObject.Type.ARRAY); JSONObject reward = new JSONObject(); reward.AddField("externalId", Spil.TokenExternalRewardId); reward.AddField("amount", Spil.TokenRewardAmount); reward.AddField("type", RewardManager.rewardType.ToString()); rewards.Add(reward); JSONObject json = new JSONObject(); json.AddField("reward", rewards); json.AddField("rewardType", RewardManager.rewardFeatureType.ToString()); SpilUnityImplementationBase.fireRewardTokenClaimed(json.Print()); } else { int id = Spil.TokenRewardId; int amount = Spil.TokenRewardAmount; if (id == 0 || amount == 0) { SpilLogging.Error("Token Rewards not configured for Editor!"); } if (RewardManager.rewardType == Spil.TokenRewardTypeEnum.CURRENCY) { SpilUnityEditorImplementation.pData.WalletOperation("add", id, amount, reason, null, "DeepLink", null); } else if (RewardManager.rewardType == Spil.TokenRewardTypeEnum.ITEM) { SpilUnityEditorImplementation.pData.InventoryOperation("add", id, amount, reason, null, "DeepLink", null); } } }
private static void CheckLoginResponse(bool send, DecodeRspResult res, Action <ResponseEvent> callback) { CheckLoginStatus.SetStatus(CheckLoginStatus.StatusType.Offline); var rspWrap1 = res.RspWrap1; var eve = new ResponseEvent(rspWrap1.ErrCode, rspWrap1.ErrMsg, rspWrap1.Seq, res.Body); Debugger.Log("CheckLoginResponse {0}", eve); if (eve.Code == ErrCode.EcOk) { CheckLoginStatus.SetStatus(CheckLoginStatus.StatusType.Checked); } callback?.Invoke(eve); return; }
public void onTradeResponse(object sender, ResponseEvent e) { if (__cTrades != null) { if (e.ResponseType == Orders.ResponseType.Deal) { bool bSuccess = __cTrades.AddTrades(e.OpenTrades, e.CloseTrades); if (bSuccess) { this.Refresh(); } } } }
public static void ProcessPackagesResponse(ResponseEvent response) { if (response.data == null) { SpilUnityImplementationBase.firePackagesNotAvailable(); return; } if (response.data.HasField("packages")) { JSONObject json = new JSONObject(); json.AddField("data", response.data.GetField("packages").Print(false)); PackagesManager.GamePackagesData = JsonHelper.getObjectFromJson <List <PackageData> >(json.GetField("data").str); } }
/** * 匹配超时广播 */ public void OnMatchTimeout(BroadcastEvent eve) { var bst = (MatchTimeoutBst)eve.Data; if (bst.MatchType == MatchType.PlayerComplex) { } else { return; } var matchErrCode = bst.ErrCode != 0 ? bst.ErrCode : (int)QAppProtoErrCode.EcMatchTimeout; var errCode = SdkUtil.ErrCodeConvert(matchErrCode); var errMsg = SdkUtil.ErrCodeConvert(errCode, ""); var e = new ResponseEvent(errCode, errMsg, "", new object()); }
/// <summary> /// Returns a list of ResponseEvents instances to the specified question for the specified course & user /// </summary> /// <param name="courseId"></param> /// <param name="questionId"></param> /// <param name="userId"></param> /// <returns></returns> public static ResponseEvent GetResponseByCourseQuestionAndUser(Guid courseId, Guid questionId, Guid userId) { using (var db = new CmsModelContainer()) { var enrollment = db.Enrollments.FirstOrDefault(e => e.Course.Id == courseId && e.Students.Id == userId); var response = new ResponseEvent(); if (enrollment != null) { response = enrollment.ResponseEvents.FirstOrDefault(e => e.ResponseOption.QuestionId == questionId); } return(response); } }
public void SaveRoomInfo(ResponseEvent eve) { if (eve.Code != ErrCode.EcOk) { return; } if (eve.Data != null) { var roomInfo = new RoomInfo(); roomInfo.MergeFrom((ByteString)eve.Data); this.SetRoomInfo(roomInfo); } else { this.SetRoomInfo(null); } }
private IEnumerator ProcessRequest(string endpoint, RequestArguments args, ResponseEvent onSuccess) { using (UnityWebRequest www = UnityWebRequest.Get(baseUri + endpoint + baseArgs + args)) { yield return(www.Send()); circle.SetActive(false); //if(www.isNetworkError || www.isHttpError) { if (www.isError) { onError.Invoke(www.error); } else { onSuccess.Invoke(www.downloadHandler.text); } } }
public static void ProcessPackagesResponse(ResponseEvent response) { if(response.data != null){ if(response.data.HasField("packages")){ JSONObject json = new JSONObject(); json.AddField("data", response.data.GetField("packages").Print(false)); GamePackagesData = JsonHelper.getObjectFromJson<List<PackageData>>(json.GetField("data").str); } if(response.data.HasField("promotions")){ JSONObject json = new JSONObject(); json.AddField("data", response.data.GetField("promotions").Print(false)); GamePromotionData = JsonHelper.getObjectFromJson<List<PromotionData>>(json.GetField("data").str); } } }
void OnListenerInit(ResponseEvent eve) { if (eve.Code == ErrCode.EcOk) { Global.Room = new Room(null); Debug.Log("初始化成功"); Listener.Add(Global.Room); // TODO: more if (waitStartInfo != null) { AutoJoinRoom(); } } InitBroadcast(); }
/// <summary> /// Execute a SQL query on the configured database /// </summary> /// <param name="sender"></param> /// <param name="sqlEvent"></param> private void ExecuteSqlQuery(object sender, SqlQueryEvent sqlEvent) { // SQL connection string set from the configuration SqlConnection connection = new SqlConnection(m_botSettings.SqlConnectString); try { // Create the response to send back to the requester ResponseEvent response = new ResponseEvent(); // Set the command connection sqlEvent.Command.Connection = connection; // open the connection connection.Open(); // Execute the select command SqlDataReader dataReader = sqlEvent.Command.ExecuteReader(CommandBehavior.CloseConnection); // Set the number of records affected sqlEvent.RecordsAffected = dataReader.RecordsAffected; // Set the sql event data sqlEvent.QueryData.Load(dataReader); // Close the data reader dataReader.Close(); // Set the response data response.e = sqlEvent; response.destination = sender; m_eventQueue.Add(response); } catch (SqlException ex) { // Send an arena message with the error ChatEvent errorMsg = new ChatEvent(); errorMsg.ChatType = ChatTypes.Arena; errorMsg.SoundCode = SoundCodes.Fart; errorMsg.Message = ex.Message; // Set the response data SendGameEvent(errorMsg); } }
protected override void MessageRecieved(object sender, byte[] recievedMessage) { string responseStr = Encoding.ASCII.GetString(recievedMessage); responseStr = responseStr.Replace(" ", ""); responseStr = responseStr.Replace("\r", ""); responseStr = responseStr.Replace("\n", ""); Log.Debug("Mes 回复:" + responseStr); if (responseStr == "0") { mesResult = true; ResponseEvent.Set(); } else if (responseStr == "1") { mesResult = false; ResponseEvent.Set(); } }
/// <summary> /// 收到监听请求回调 /// </summary> /// <param name="iAsyncResult"></param> public void GetContextAsyncCallback(IAsyncResult iAsyncResult) { if (iAsyncResult.IsCompleted) { HttpListenerContext httpListenerContext = listerner.EndGetContext(iAsyncResult); httpListenerContext.Response.StatusCode = 200; if (ResponseEvent != null) { ResponseEvent.BeginInvoke(httpListenerContext, null, null); } else { System.IO.BinaryWriter br = new System.IO.BinaryWriter(httpListenerContext.Response.OutputStream, new UTF8Encoding()); httpListenerContext.Response.Close(); br.Close(); } } listerner.BeginGetContext(AsyncCallback, null); }
// 初始化回调函数 public static void SdkInitCallback(bool success, ResponseEvent eve) { // 修改Sdk状: if (!SdkStatus.IsIniting()) { return; } // 初始化成功 if (success) { SdkStatus.SetStatus(SdkStatus.StatusType.Inited); } // 初始化失败 if (!success) { SdkStatus.SetStatus(SdkStatus.StatusType.Uninit); } // 回调 var code = SdkStatus.IsInited() ? ErrCode.EcOk : ErrCode.EcSdkUninit; if (!success && eve != null && eve.Code != ErrCode.EcOk) { code = eve.Code; } // 错误信息 var msg = SdkStatus.IsInited() ? "初始化成功" : "初始化失败"; // 服务器时间戳 var initRsp = (InitRsp)eve?.Data ?? null; ulong serverTime = initRsp?.ServerTime ?? 0; var e = new ResponseEvent(code, msg, null, new InitRsp(serverTime)); Sdk.Instance.InitRsp(e); if (!SdkStatus.IsInited()) { Sdk.Uninit(); } }
private void Update() { while (msgQueue.Count > 0) { INetworkMessage message; if (!msgQueue.TryDequeue(out message)) { continue; } if (responseActions.Count > 0 && responseActions.ContainsKey(message.Command)) { var action = responseActions[message.Command].Dequeue(); if (action != null) { action.Invoke(message); } } ResponseEvent?.Invoke(message); } }
public void HandleEvent(ManagerEvent e) { // should always be a ResponseEvent, anyway... if (e is Event.ResponseEvent) { ResponseEvent responseEvent = (ResponseEvent)e; events.AddEvent(responseEvent); } // finished? if (action.ActionCompleteEventClass().IsAssignableFrom(e.GetType())) { lock (events) events.Complete = true; if (events.Response != null) { autoEvent.Set(); } } }
private void LargeOrderService_onResponse(object sender, ResponseEvent e) { switch (e.ResponseType) { case ResponseType.Cancel: TradeOrder cCancel = e.TradeOrder as TradeOrder; lock (__oLock) { lock (__cTrades) { string sName = cCancel.Name; if (__cTrades.ContainsKey(sName)) { __cTrades.Remove(sName); } } if (cCancel.BarNumber < 0 && cCancel.Contracts > 0) { base.Send(cCancel.Action, cCancel.Category, (cCancel.Category == OrderCategory.Market) ? AdjustPrice(cCancel.Action) : cCancel.Price, cCancel.Contracts, cCancel.IsReverse, 0, cCancel.Name); } } break; case ResponseType.Deal: TradeOrder cDeal = e.TradeOrder as TradeOrder; lock (__cTrades) { TradeOrder cOrder = null; string sName = cDeal.Name; if (__cTrades.TryGetValue(sName, out cOrder)) { if (cOrder.Contracts == 0) { __cTrades.Remove(sName); } } } break; case ResponseType.Trust: TradeOrder cTrust = e.TradeOrder as TradeOrder; lock (__cTrades) { string sName = cTrust.Name; if (__cTrades.ContainsKey(sName)) { __cTrades.Remove(sName); } __cTrades.Add(sName, cTrust); } break; } }
/// <summary> /// Execute a SQL command on the configured database /// </summary> /// <param name="sender"></param> /// <param name="sqlEvent"></param> private void ExecuteSqlCommand(object sender, SqlCommandEvent sqlEvent) { // SQL connection string set from the configuration using (SqlConnection connection = new SqlConnection(m_botSettings.SqlConnectString)) { try { // Create the response to send back to the requester ResponseEvent response = new ResponseEvent(); // Set the command connection sqlEvent.Command.Connection = connection; // open the connection connection.Open(); // Set the number of records affected sqlEvent.RecordsAffected = sqlEvent.Command.ExecuteNonQuery(); // Close the connection connection.Close(); // Set the response data response.e = sqlEvent; response.destination = sender; m_eventQueue.Add(response); } catch (Exception ex) { // Send an arena message with the error ChatEvent errorMsg = new ChatEvent(); errorMsg.ChatType = ChatTypes.Private; errorMsg.PlayerName = "PsyOps"; errorMsg.SoundCode = SoundCodes.Fart; errorMsg.Message = ex.Message; // Set the response data m_eventQueue.Add(errorMsg); } } }
/// <summary> /// 收到监听请求回调 /// </summary> /// <param name="ia"></param> public void GetContextAsyncCallback(IAsyncResult ia) { if (ia.IsCompleted) { var ctx = listerner.EndGetContext(ia); ctx.Response.StatusCode = 200; if (ResponseEvent != null) { ResponseEvent.BeginInvoke(ctx, null, null); } else { System.IO.BinaryWriter br = new System.IO.BinaryWriter(ctx.Response.OutputStream, new UTF8Encoding()); br.Write("error: 服务器未处理"); ctx.Response.Close(); br.Close(); br.Dispose(); } } listerner.BeginGetContext(ac, null); }
private void GridOrderService_onResponse(object sender, ResponseEvent e) { if (e.ResponseType == ResponseType.Update) { //回報類型為 Update 都忽略(此為盈利更新通知) return; } TradeOrder cOrder = e.TradeOrder as TradeOrder; string[] sNames = cOrder.Name.Split('|'); _Truster cTruster = null; lock (__cTrusts) { __cTrusts.TryGetValue(sNames[0], out cTruster); } if (cTruster != null) { switch (e.ResponseType) { case ResponseType.Cancel: case ResponseType.Deal: if (e.ResponseType == ResponseType.Cancel) { cTruster.CheckCancel(cOrder); } else { cTruster.CheckDeal(cOrder); } if (cTruster.IsEmpty) { //如果已經交易完畢 lock (__cTrusts) { __cTrusts.Remove(sNames[0]); } if (cTruster.IsClosed && __bClosedFlag) { __bClosedFlag = false; } } break; case ResponseType.Trust: cTruster.CheckTrust(cOrder); break; } } }
public static void ProcessOverlayResponse(ResponseEvent response) { string url = null; if(response.data.HasField("url")){ url = response.data.GetField("url").Print(false); } if(response.action.ToLower().Trim().Equals("show")){ if(response.eventName.ToLower().Equals("splashscreen")){ ShowSplashScreen(response.data, url); } else if(response.eventName.ToLower().Equals("dailybonus")){ ShowDailyBonus(response.data, url); } } else if(response.action.ToLower().Trim().Equals("notavailable")){ if(response.eventName.ToLower().Equals("splashscreen")){ SpilUnityEditorImplementation.fireSplashScreenNotAvailable(); } else if(response.eventName.ToLower().Equals("dailybonus")){ SpilUnityEditorImplementation.fireDailyBonusNotAvailable(); } } }
public static void ProcessLiveEventResponse(ResponseEvent response) { if (response.data != null) { if (response.action.ToLower().Trim().Equals("request")) { LiveEventManager.ProcessRequestLiveEvent(response.data); } else if (response.action.ToLower().Trim().Equals("nextstage")) { LiveEventManager.ProcessAdvanceToNextStage(response.data); } else if (response.action.ToLower().Trim().Equals("applyitems")) { LiveEventManager.ProcessApplyItems(response.data); } else if (response.action.ToLower().Trim().Equals("notavailable")) { SpilUnityImplementationBase.fireLiveEventNotAvailable(); } } }
protected override void MessageRecieved(object sender, byte[] recievedMessage) { string startStr = "<"; string endStr = "\r"; ResponseTemp = ResponseTemp + Encoding.ASCII.GetString(recievedMessage); int startPos = ResponseTemp.IndexOf(startStr); int endPos = ResponseTemp.IndexOf(endStr) + 1; if (endPos > 0) { string oneResult = ResponseTemp.Substring(startPos, endPos - startPos); ResponseTemp = ResponseTemp.Substring(endPos); int WriteResponse = oneResult.IndexOf("WD"); int ReadResponse = oneResult.IndexOf("RD"); int ErrorResponse = oneResult.IndexOf("!"); if (ErrorResponse > 0) { throw new Exception("plc错误:" + oneResult); } if (WriteResponse > 0) { } else if (ReadResponse > 0) { ReadResponse += 2; int dataLength = (endPos - ReadResponse - 3) / 4; DataBytes = new byte[2 * dataLength]; for (int i = 0; i < 2 * dataLength; i++) { DataBytes[i] = Convert.ToByte(oneResult.Substring(ReadResponse + 2 * i, 2), 16); } } ResponseEvent.Set(); } }
protected override void MessageRecieved(object sender, byte[] recievedMessage) { string responseStr = Encoding.ASCII.GetString(recievedMessage); Log.Debug("Mes 回复:" + responseStr); responseStr = responseStr.Replace(" ", ""); responseStr = responseStr.Replace("\r", ""); responseStr = responseStr.Replace("\n", ""); int endIndex = responseStr.IndexOf("^"); endIndex = endIndex == -1 ? responseStr.Length : endIndex; responseStr = responseStr.Substring(0, endIndex); if (responseStr == "OK") { mesResult = true; ResponseEvent.Set(); } else if (responseStr == "NG") { mesResult = false; ResponseEvent.Set(); } }
protected override void MessageRecieved(object sender, byte[] recievedMessage) { byte[] _responseBytes = new byte[responseBytesTemp.Length + recievedMessage.Length]; responseBytesTemp.CopyTo(_responseBytes, 0); recievedMessage.CopyTo(_responseBytes, responseBytesTemp.Length); int dataLength = _responseBytes[7] - 2; if (_responseBytes.Length == 11 + dataLength) { if (dataLength > 0) { DataBytes = new byte[dataLength]; Array.Copy(_responseBytes, 11, DataBytes, 0, dataLength); } responseBytesTemp = new byte[0]; ResponseEvent.Set(); } else { responseBytesTemp = _responseBytes; } }
public static void ProcessSocialLoginResponse(ResponseEvent responseEvent) { JSONObject socialLoginJSON = responseEvent.data; switch (responseEvent.action.Trim().ToLower()) { case "register": SocialLoginManager.ProcessUserRegister(socialLoginJSON); break; case "login": SocialLoginManager.ProcessUserLogin(socialLoginJSON); break; case "logout": SocialLoginManager.ProcessUserLogout(); break; case "error": SocialLoginManager.ProcessUserLoginError(socialLoginJSON); break; } }
////////////////////////////////////// 响应 //////////////////////////////////// private void LoginResponse(bool send, DecodeRspResult res, Action <ResponseEvent> callback) { if (send) { UserStatus.SetStatus(UserStatus.StatusType.Logout); } var rspWrap1 = res.RspWrap1; var rsp = new LoginRsp(); if (res.Body != null) { rsp.MergeFrom(res.Body); } var eve = new ResponseEvent(rspWrap1.ErrCode, rspWrap1.ErrMsg, rspWrap1.Seq, rsp); NetClient.HandleSuccess(eve.Code, () => { if (eve.Code == ErrCode.EcOk) { RequestHeader.AuthKey = rsp.Token; RequestHeader.PlayerId = rsp.PlayerId; var messageData = rsp; // 更新状态 UserStatus.SetStatus(UserStatus.StatusType.Login); // 设置 PlayerInfo if (string.IsNullOrEmpty(GamePlayerInfo.GetInfo().Id)) { GamePlayerInfo.SetInfo(messageData.PlayerId); } } }); UserStatus.SetErrCode(eve.Code, eve.Msg); callback?.Invoke(eve); }
private static void LogoutResponse(bool send, DecodeRspResult res, Action <ResponseEvent> callback) { var wrap1 = res.RspWrap1; var eve = new ResponseEvent(wrap1.ErrCode, wrap1.ErrMsg, wrap1.Seq, null); Debugger.Log("LogoutResponse {0}", eve); void HandleSuccess() { RequestHeader.AuthKey = null; RequestHeader.PlayerId = null; UserStatus.SetStatus(UserStatus.StatusType.Logout); var playerInfo = new PlayerInfo { Id = null }; GamePlayerInfo.SetInfo(playerInfo); } NetClient.HandleSuccess(eve.Code, HandleSuccess); callback?.Invoke(eve); }
public void OnValidate() { ResponseEvent[] events = new ResponseEvent[dialogueObject.Responses.Length]; for (int i = 0; i < dialogueObject.Responses.Length; i++) { Response response = dialogueObject.Responses[i]; events[i] = new ResponseEvent(response); } Array.Resize(ref responseEvents, events.Length); for (int i = 0; i < responseEvents.Length; i++) { if (responseEvents[i] == null) { responseEvents[i] = events[i]; } else { responseEvents[i].Update(events[i]); } } }
private void SignalObject_onTradeResponse(object sender, ResponseEvent e) { __cTradeService.AddResponse(e); if (__bShowTradeView) { if (GlobalSettings.Testing.AutoSwitchTradePage) { ITradeOrder cOrder = e.TradeOrder; switch (e.ResponseType) { case Zeghs.Orders.ResponseType.Trust: //委託回報 tabControl.BeginInvoke((MethodInvoker) delegate { tabControl.SelectedIndex = 0; }); break; case Zeghs.Orders.ResponseType.Deal: //成交回報 EOrderAction cAction = cOrder.Action; if (cAction == EOrderAction.Buy || cAction == EOrderAction.SellShort) { tabControl.BeginInvoke((MethodInvoker) delegate { tabControl.SelectedIndex = 1; }); } else { tabControl.BeginInvoke((MethodInvoker) delegate { tabControl.SelectedIndex = 2; }); } break; } } } }
/** * 本地网络状态变化 */ public void OnNetwork(ResponseEvent eve) { _room.onUpdate(this._room); }
public void ProcessPlayerDataResponse(ResponseEvent response) { WalletData receivedWallet = null; InventoryData receivedInventory = null; if (response.data.HasField ("wallet")) { JSONObject walletJSON = response.data.GetField ("wallet"); receivedWallet = new WalletData (); if (walletJSON.HasField ("currencies")) { receivedWallet.currencies = new List<PlayerCurrencyData> (); JSONObject currenciesJSON = walletJSON.GetField ("currencies"); for (int i = 0; i < currenciesJSON.Count; i++) { PlayerCurrencyData currency = new PlayerCurrencyData (); currency.id = (int)currenciesJSON.list [i].GetField ("id").n; currency.currentBalance = (int)currenciesJSON.list [i].GetField ("currentBalance").n; currency.delta = (int)currenciesJSON.list [i].GetField ("delta").n; receivedWallet.currencies.Add (currency); } } receivedWallet.offset = (int)walletJSON.GetField ("offset").n; receivedWallet.logic = walletJSON.GetField ("logic").str; } if (response.data.HasField ("inventory")) { JSONObject inventoryJSON = response.data.GetField ("inventory"); receivedInventory = new InventoryData (); if (inventoryJSON.HasField ("items")) { receivedInventory.items = new List<PlayerItemData> (); JSONObject itemsJSON = inventoryJSON.GetField ("items"); for (int i = 0; i < itemsJSON.Count; i++) { PlayerItemData item = new PlayerItemData (); item.id = (int)itemsJSON.list [i].GetField ("id").n; item.amount = (int)itemsJSON.list [i].GetField ("amount").n; item.delta = (int)itemsJSON.list [i].GetField ("delta").n; receivedInventory.items.Add (item); } } receivedInventory.offset = (int)inventoryJSON.GetField ("offset").n; receivedInventory.logic = inventoryJSON.GetField ("logic").str; } CalculatePlayerDataResponse (receivedWallet, receivedInventory); }
void manager_UnhandledEvent(object sender, ManagerEvent e) { log.Debug("New unhandled event received: " + e.GetType().Name); LineControl lc = null; //StateServer switch (e.GetType().Name) { case "AGIExecEvent": AGIExecEvent agievent = e as AGIExecEvent; break; case "AlarmClearEvent": AlarmClearEvent alarmclear = e as AlarmClearEvent; break; case "AlarmEvent": AlarmEvent alarmevent = e as AlarmEvent; break; case "AsyncAGIEvent": AsyncAGIEvent asyncagievent = e as AsyncAGIEvent; break; case "BridgeEvent": BridgeEvent bridgeevent = e as BridgeEvent; break; case "CdrEvent": CdrEvent cdrevent = e as CdrEvent; break; case "ChannelReloadEvent": ChannelReloadEvent channelreload = e as ChannelReloadEvent; break; case "ChannelUpdateEvent": ChannelUpdateEvent channelupdate = e as ChannelUpdateEvent; break; case "ConnectEvent": ConnectEvent connectevent = e as ConnectEvent; break; case "ConnectionStateEvent": ConnectionStateEvent connectionstate = e as ConnectionStateEvent; break; case "DBGetResponseEvent": DBGetResponseEvent dbget = e as DBGetResponseEvent; log.Debug("DBGet response: " + dbget.ToString()); switch (dbget.Family) { case "DND": ss.SetLineControl(setLineControlDND(dbget.Key, true)); break; case "CF": ss.SetLineControl(setLineControlForward(dbget.Key, dbget.Val)); break; } break; case "DialEvent": DialEvent dial = e as DialEvent; log.Debug("Dial event: " + dial.ToString()); break; case "DisconnectEvent": DisconnectEvent disconnect = e as DisconnectEvent; log.Debug("Disconnect event: " + disconnect.ToString()); break; case "DNDStateEvent": DNDStateEvent dndstate = e as DNDStateEvent; log.Debug("DND state event: " + dndstate.ToString()); break; case "ExtensionStatusEvent": ExtensionStatusEvent extensionstatus = e as ExtensionStatusEvent; log.Debug("Extension status event: " + extensionstatus.ToString() + ", status: " + extensionstatus.Status + ", hint: " + extensionstatus.Hint); ss.SetLineControl(getLineControlFromExtensionStatusEvent(extensionstatus)); break; case "FaxReceivedEvent": FaxReceivedEvent faxreceived = e as FaxReceivedEvent; break; case "HangupEvent": HangupEvent hangup = e as HangupEvent; log.Debug("Hangup event: " + hangup.ToString() + " callerid: " + hangup.CallerId + " calleridnum: " + hangup.CallerIdNum); //line control if (channels.Contains(hangup.Channel)) { lc = getLineControl((string)channels[hangup.Channel]); int hi = 0; LineControlConnection[] newLCC = null; if (lc.lineControlConnection.Length > 1) { newLCC = new LineControlConnection[lc.lineControlConnection.Length - 1]; foreach (LineControlConnection hlcc in lc.lineControlConnection) { if (hlcc.callid != hangup.Channel) { newLCC[hi] = hlcc; hi++; } } } lc.lineControlConnection = newLCC; ss.SetLineControl(lc); channels.Remove(hangup.Channel); } //missed calls callToFind = hangup.UniqueId.Substring(0, 6) + "," + hangup.UniqueId.Substring(6); Call mCall = missedCalls.Find(FindCall); if (mCall != null) { log.Debug("Missed call finded for callid: " + hangup.UniqueId); AddCallLogs(mCall.callee, mCall); if (missedCalls.Remove(mCall)) { log.Debug("Call " + mCall.callId + " successfully removed from missedcall cache"); } else { log.Debug("Call " + mCall.callId + " cannot be removed from missedcall cache"); } } break; case "HoldedCallEvent": HoldedCallEvent holdedcall = e as HoldedCallEvent; break; case "HoldEvent": HoldEvent holdevent = e as HoldEvent; break; case "JabberEvent": JabberEvent jabberevent = e as JabberEvent; break; case "JitterBufStatsEvent": JitterBufStatsEvent jitter = e as JitterBufStatsEvent; break; case "JoinEvent": JoinEvent join = e as JoinEvent; break; case "LeaveEvent": LeaveEvent leave = e as LeaveEvent; break; case "LinkEvent": LinkEvent link = e as LinkEvent; log.Debug("Link event: " + link.ToString()); lc = getLineControl(link.CallerId1); if (lc != null) { foreach (LineControlConnection linklcc in lc.lineControlConnection) { if (linklcc.callid == link.Channel1) { linklcc.contact = link.CallerId2; ss.SetLineControl(lc); break; } } } lc = getLineControl(link.CallerId2); if (lc != null) { foreach (LineControlConnection linklcc in lc.lineControlConnection) { if (linklcc.callid == link.Channel2) { linklcc.contact = link.CallerId1; ss.SetLineControl(lc); break; } } } break; case "LogChannelEvent": LogChannelEvent logchannel = e as LogChannelEvent; break; case "ManagerEvent": ManagerEvent managerevent = e; break; case "MeetmeEndEvent": MeetmeEndEvent meetmeend = e as MeetmeEndEvent; break; case "MeetmeJoinEvent": MeetmeJoinEvent meetmejoin = e as MeetmeJoinEvent; break; case "MeetmeLeaveEvent": MeetmeLeaveEvent meetmeleave = e as MeetmeLeaveEvent; break; case "MeetmeMuteEvent": MeetmeMuteEvent meetmemute = e as MeetmeMuteEvent; break; case "MeetmeStopTalkingEvent": MeetmeStopTalkingEvent meetmestoptalking = e as MeetmeStopTalkingEvent; break; case "MeetmeTalkingEvent": MeetmeTalkingEvent meetmetalking = e as MeetmeTalkingEvent; break; case "MeetmeTalkRequestEvent": MeetmeTalkRequestEvent meetmetalkrequest = e as MeetmeTalkRequestEvent; break; case "MessageWaitingEvent": MessageWaitingEvent messagewaiting = e as MessageWaitingEvent; log.Debug("Message waiting event: " + messagewaiting.ToString()); lc = getLineControl(messagewaiting.Mailbox.Substring(0, messagewaiting.Mailbox.IndexOf("@"))); if (lc != null) { if (messagewaiting.Waiting > 0) { lc.mwiOn = true; } else { lc.mwiOn = false; } ss.SetLineControl(lc); } break; case "MobileStatusEvent": MobileStatusEvent mobilestatus = e as MobileStatusEvent; break; case "ModuleLoadReportEvent": ModuleLoadReportEvent moduleload = e as ModuleLoadReportEvent; break; case "MonitorStartEvent": MonitorStartEvent monitorstart = e as MonitorStartEvent; break; case "MonitorStopEvent": MonitorStopEvent monitorstop = e as MonitorStopEvent; break; case "NewAccountCodeEvent": NewAccountCodeEvent newaccountcode = e as NewAccountCodeEvent; break; case "NewCallerIdEvent": NewCallerIdEvent newcallerid = e as NewCallerIdEvent; log.Debug("New caller id envent: " + newcallerid.ToString()); break; case "NewChannelEvent": NewChannelEvent newchannel = e as NewChannelEvent; log.Debug("New Channel event: " + newchannel.ToString()); CommandAction ca = new CommandAction("core show channel " + newchannel.Channel); CommandResponse cr = (CommandResponse)manager.SendAction(ca, 10000); log.Debug("Channel info: " + cr.ToString()); string dn = newchannel.CallerIdNum; log.Debug("Retreive call information..."); bool callerIdUnknown = true; if (newchannel.CallerIdNum != "<unknown>") { callerIdUnknown = false; } else { foreach (string s in cr.Result) { if (s.Contains("Caller ID:")) { dn = s.Substring(s.LastIndexOf(" ")); break; } } } Call newOutboundCall = getOutboundCallFromChannelInfo(cr.Result, callerIdUnknown); if (newOutboundCall != null) { Call missedCall = newOutboundCall; AddCallLogs(dn, newOutboundCall); dnToFind = newOutboundCall.callee; if (linecontrols.Find(FindLineControl) != null) { log.Debug("This call will be put in missedcall cache: " + missedCall.callId); missedCall.type = CallType.missed; missedCalls.Add(missedCall); } } break; case "NewExtenEvent": NewExtenEvent newexten = e as NewExtenEvent; log.Debug("New exten event: " + newexten.ToString()); string channel = ""; char[] splitter = { '/' }; string[] splitchannel = newexten.Channel.Split(splitter); splitter[0] = '-'; splitchannel = splitchannel[1].Split(splitter); channel = splitchannel[0]; //DND? if (newexten.Extension == Properties.Settings.Default.FeatureCodeDNDToggle && newexten.Application == "Playback") { switch (newexten.AppData) { case "do-not-disturb&activated": log.Debug("Successfully activate dnd for channel: " + channel); ss.SetLineControl(setLineControlDND(channel, true)); break; case "do-not-disturb&de-activated": log.Debug("Successfully deactivate dnd for channel: " + channel); ss.SetLineControl(setLineControlDND(channel, false)); break; } } //Forward all? else if (newexten.Extension.Contains(Properties.Settings.Default.FeatureCodeCallForwardAllActivate) && newexten.Application == "Playback" && newexten.AppData == "call-fwd-unconditional&for&extension") { string forward = newexten.Extension.Substring(Properties.Settings.Default.FeatureCodeCallForwardAllActivate.Length); log.Debug("Call forward all from channel: " + channel + " to " + forward); ss.SetLineControl(setLineControlForward(channel, forward)); } // UnForwardAll else if (newexten.Extension == Properties.Settings.Default.FeatureCodeCallForwardAllDeactivate && newexten.Application == "Playback" && newexten.AppData == "call-fwd-unconditional&de-activated") { log.Debug("Call unforward all from channel: " + channel); ss.SetLineControl(setLineControlForward(channel, "")); } break; case "NewStateEvent": NewStateEvent newstate = e as NewStateEvent; log.Debug("New State event: " + newstate.ToString()); LineControl newstateLc = getLineControl(newstate.CallerId); LineControlConnection[] newStateLccs = null; int i = 0; if (newstateLc.lineControlConnection != null) { bool isContained = false; foreach (LineControlConnection elcc in newstateLc.lineControlConnection) { if (elcc.callid == newstate.Channel) { isContained = true; newStateLccs = newstateLc.lineControlConnection; break; } i++; } if (!isContained) { i = 0; newStateLccs = new LineControlConnection[newstateLc.lineControlConnection.Length + 1]; foreach (LineControlConnection newstateLcc in newstateLc.lineControlConnection) { newStateLccs[i] = newstateLcc; i++; } } } else { newStateLccs = new LineControlConnection[1]; newStateLccs[0] = new LineControlConnection(); } try { switch (newstate.State) { case "Up": //received call? callToFind = newstate.UniqueId; Call rCall = missedCalls.Find(FindCall); if (rCall != null) { log.Debug("Missed call finded: " + callToFind + ", this call will be received"); rCall.type = CallType.received; AddCallLogs(rCall.callee, rCall); missedCalls.Remove(rCall); } if (newStateLccs != null) { if (!channels.Contains(newstate.Channel)) { channels.Add(newstate.Channel, newstate.CallerId); } newStateLccs[i].callid = newstate.Channel; newStateLccs[i].remoteState = Wybecom.TalkPortal.CTI.Proxy.ConnectionState.established; newStateLccs[i].state = Wybecom.TalkPortal.CTI.Proxy.ConnectionState.established; newStateLccs[i].terminalState = TerminalState.talking; } break; case "Ringing": if (newStateLccs != null) { if (!channels.Contains(newstate.Channel)) { channels.Add(newstate.Channel, newstate.CallerId); } newStateLccs[i].callid = newstate.Channel; newStateLccs[i].remoteState = Wybecom.TalkPortal.CTI.Proxy.ConnectionState.established; newStateLccs[i].state = Wybecom.TalkPortal.CTI.Proxy.ConnectionState.alerting; newStateLccs[i].terminalState = TerminalState.ringing; } break; case "Ring": if (newStateLccs != null) { if (!channels.Contains(newstate.Channel)) { channels.Add(newstate.Channel, newstate.CallerId); } newStateLccs[i].callid = newstate.Channel; newStateLccs[i].remoteState = Wybecom.TalkPortal.CTI.Proxy.ConnectionState.alerting; newStateLccs[i].state = Wybecom.TalkPortal.CTI.Proxy.ConnectionState.dialing; newStateLccs[i].terminalState = TerminalState.inuse; } break; } } catch (Exception stateException) { log.Debug("NewState exception: " + stateException.Message); } if (newstateLc != null) { newstateLc.lineControlConnection = newStateLccs; ss.SetLineControl(newstateLc); } break; case "OriginateResponseEvent": OriginateResponseEvent originateresponse = e as OriginateResponseEvent; break; case "ParkedCallEvent": ParkedCallEvent parkedcall = e as ParkedCallEvent; break; case "ParkedCallGiveUpEvent": ParkedCallGiveUpEvent parkedcallgiveup = e as ParkedCallGiveUpEvent; break; case "ParkedCallsCompleteEvent": ParkedCallsCompleteEvent parkedcallscomplete = e as ParkedCallsCompleteEvent; break; case "ParkedCallTimeOutEvent": ParkedCallTimeOutEvent parkedcalltimeout = e as ParkedCallTimeOutEvent; break; case "PeerEntryEvent": log.Debug("SipAction: one peer entry event received, " + e.ToString()); PeerEntryEvent peerentry = e as PeerEntryEvent; peers.Add(peerentry); ss.SetLineControl(getLineControlFromPeerEntry(peerentry)); break; case "PeerlistCompleteEvent": log.Debug("SipAction: peer list completed " + e.ToString()); PeerlistCompleteEvent peerlistcomplete = e as PeerlistCompleteEvent; acs.setPeers(peers); break; case "PeerStatusEvent": PeerStatusEvent peerstatus = e as PeerStatusEvent; log.Debug("Peer status: " + peerstatus.ToString()); break; case "PRIEvent": PRIEvent pri = e as PRIEvent; break; case "RegistryEvent": RegistryEvent registry = e as RegistryEvent; break; case "ReloadEvent": ReloadEvent reload = e as ReloadEvent; break; case "RenameEvent": RenameEvent rename = e as RenameEvent; break; case "ResponseEvent": ResponseEvent response = e as ResponseEvent; break; case "RTCPReceivedEvent": RTCPReceivedEvent rtcpreceived = e as RTCPReceivedEvent; break; case "RTCPSentEvent": RTCPSentEvent rtcpsent = e as RTCPSentEvent; break; case "RTPReceiverStatEvent": RTPReceiverStatEvent rtpreceiver = e as RTPReceiverStatEvent; break; case "RTPSenderStatEvent": RTPSenderStatEvent rtpsender = e as RTPSenderStatEvent; break; case "ShowDialPlanCompleteEvent": ShowDialPlanCompleteEvent showdialplan = e as ShowDialPlanCompleteEvent; break; case "ShutdownEvent": ShutdownEvent shutdown = e as ShutdownEvent; break; case "StatusCompleteEvent": StatusCompleteEvent statuscomplete = e as StatusCompleteEvent; break; case "StatusEvent": StatusEvent status = e as StatusEvent; break; case "TransferEvent": TransferEvent transfer = e as TransferEvent; break; case "UnholdEvent": UnholdEvent unhold = e as UnholdEvent; break; case "UnknownEvent": UnknownEvent unknown = e as UnknownEvent; break; case "UnlinkEvent": UnlinkEvent unlink = e as UnlinkEvent; log.Debug("Unlink event : " + unlink.ToString()); LineControlConnection[] lccs = null; i = 0; lc = getLineControl(unlink.CallerId1); if (lc != null) { if (lc.lineControlConnection.Length > 1) { lccs = new LineControlConnection[lc.lineControlConnection.Length - 1]; foreach (LineControlConnection linklcc in lc.lineControlConnection) { if (linklcc.callid != unlink.Channel1) { lccs[i] = linklcc; i++; break; } } } else { lc.lineControlConnection = null; } ss.SetLineControl(lc); } i = 0; lc = getLineControl(unlink.CallerId2); if (lc != null) { if (lc.lineControlConnection.Length > 1) { lccs = new LineControlConnection[lc.lineControlConnection.Length - 1]; foreach (LineControlConnection linklcc in lc.lineControlConnection) { if (linklcc.callid != unlink.Channel2) { lccs[i] = linklcc; i++; break; } } } else { lc.lineControlConnection = null; } ss.SetLineControl(lc); } break; case "UnparkedCallEvent": UnparkedCallEvent unparked = e as UnparkedCallEvent; break; case "UserEvent": UserEvent user = e as UserEvent; break; case "VarSetEvent": VarSetEvent varset = e as VarSetEvent; break; case "ZapShowChannelsCompleteEvent": ZapShowChannelsCompleteEvent zapshowchannelscomplete = e as ZapShowChannelsCompleteEvent; break; case "ZapShowChannelsEvent": ZapShowChannelsEvent zapshowchannels = e as ZapShowChannelsEvent; break; } //ACDConnector switch (e.GetType().Name) { case "AgentCallbackLoginEvent": AgentCallbackLoginEvent agentcallbacklogin = e as AgentCallbackLoginEvent; break; case "AgentCallbackLogoffEvent": AgentCallbackLogoffEvent agentcallbacklogoff = e as AgentCallbackLogoffEvent; break; case "AgentCalledEvent": AgentCalledEvent agentcalled = e as AgentCalledEvent; break; case "AgentCompleteEvent": AgentCompleteEvent agentcomplete = e as AgentCompleteEvent; break; case "AgentConnectEvent": AgentConnectEvent agentconnect = e as AgentConnectEvent; break; case "AgentDumpEvent": AgentDumpEvent agentdump = e as AgentDumpEvent; break; case "AgentLoginEvent": AgentLoginEvent agentlogin = e as AgentLoginEvent; break; case "AgentLogoffEvent": AgentLogoffEvent agentlogoff = e as AgentLogoffEvent; break; case "AgentsCompleteEvent": AgentsCompleteEvent agentscomplete = e as AgentsCompleteEvent; break; case "AgentsEvent": AgentsEvent agentevent = e as AgentsEvent; break; case "QueueCallerAbandonEvent": QueueCallerAbandonEvent queuecallerabandon = e as QueueCallerAbandonEvent; break; case "QueueEntryEvent": QueueEntryEvent queueentry = e as QueueEntryEvent; break; case "QueueEvent": QueueEvent queue = e as QueueEvent; break; case "QueueMemberEvent": QueueMemberEvent queuemember = e as QueueMemberEvent; break; case "QueueMemberPausedEvent": QueueMemberPausedEvent queuememberpaused = e as QueueMemberPausedEvent; break; case "QueueMemberPenaltyEvent": QueueMemberPenaltyEvent queuememberpenalty = e as QueueMemberPenaltyEvent; break; case "QueueMemberRemovedEvent": QueueMemberRemovedEvent queuememberremoved = e as QueueMemberRemovedEvent; break; case "QueueMemberStatusEvent": QueueMemberStatusEvent queuememberstatus = e as QueueMemberStatusEvent; break; case "QueueParamsEvent": QueueParamsEvent queueparams = e as QueueParamsEvent; break; case "QueueStatusCompleteEvent": QueueStatusCompleteEvent queuestatuscomplete = e as QueueStatusCompleteEvent; break; } }
public static void ProcessAdvertisementResponse(ResponseEvent response) { if (response.action.Equals ("init")) { JSONObject provider = response.data.GetField ("providers"); if (provider.HasField ("DFP")) { DFPEnabled = true; Debug.Log ("DFP Enabled"); } if (provider.HasField ("Fyber")) { FyberEnabled = true; Debug.Log ("Fyber Enabled"); } if (provider.HasField ("Chartboost") || provider.HasField ("ChartBoost")) { ChartboostEnabled = true; Debug.Log ("Chartboost Enabled"); } } else if (response.action.Equals ("show")) { string provider = response.data.GetField ("provider").str; string adType = response.data.GetField("adType").str; int probability = Random.Range(0, 100); bool available = false; if(probability > 20){ available = true; } if (provider.ToLower ().Trim ().Equals ("dfp")) { if(available){ Debug.Log ("DFP Show"); SpilUnityImplementationBase.fireAdAvailableEvent (adType); PlayInterstitial("DFP"); } else { Debug.Log ("DFP Not Available"); SpilUnityImplementationBase.fireAdNotAvailableEvent (adType); } } else if (provider.ToLower ().Trim ().Equals ("fyber")) { if(available){ Debug.Log ("Fyber Show"); SpilUnityImplementationBase.fireAdAvailableEvent (adType); } else { Debug.Log ("Fyber Not Available"); SpilUnityImplementationBase.fireAdNotAvailableEvent (adType); } } else if (provider.ToLower ().Trim ().Equals ("chartboost")) { if(available){ Debug.Log ("Chartboost Show"); SpilUnityImplementationBase.fireAdAvailableEvent (adType); PlayInterstitial("Chartboost"); } else { Debug.Log ("Chartboost Not Available"); SpilUnityImplementationBase.fireAdNotAvailableEvent (adType); } } } }
public void ProcessGameObjectsResponse(ResponseEvent response) { if(response.data.HasField("currencies")){ currencies = new List<SpilCurrencyData>(); JSONObject currenciesJSON = response.data.GetField("currencies"); for(int i=0 ; i < currenciesJSON.Count; i++){ SpilCurrencyData currency = JsonHelper.getObjectFromJson<SpilCurrencyData>(currenciesJSON.list[i].Print(false)); currencies.Add(currency); } } if(response.data.HasField("items")){ items = new List<SpilItemData>(); JSONObject itemsJSON = response.data.GetField("items"); for(int i=0 ; i < itemsJSON.Count; i++){ SpilItemData item = JsonHelper.getObjectFromJson<SpilItemData>(itemsJSON.list[i].Print(false)); items.Add(item); } } if(response.data.HasField("bundles")){ bundles = new List<SpilBundleData>(); JSONObject bundlesJSON = response.data.GetField("bundles"); for(int i=0 ; i < bundlesJSON.Count; i++){ SpilBundleData bundle = JsonHelper.getObjectFromJson<SpilBundleData>(bundlesJSON.list[i].Print(false)); bundles.Add(bundle); } } if(response.data.HasField("shop")){ shop = new List<SpilShopTabData>(); JSONObject shopJSON = response.data.GetField("shop"); for(int i=0 ; i < shopJSON.Count; i++){ SpilShopTabData tab = JsonHelper.getObjectFromJson<SpilShopTabData>(shopJSON.list[i].Print(false)); shop.Add(tab); } } if(response.data.HasField("promotions")){ promotions = new List<SpilShopPromotionData>(); JSONObject promotionsJSON = response.data.GetField("promotions"); for(int i=0 ; i < promotionsJSON.Count; i++){ SpilShopPromotionData bundle = JsonHelper.getObjectFromJson<SpilShopPromotionData>(promotionsJSON.list[i].Print(false)); promotions.Add(bundle); } } updatedFromServer = true; Spil.GameData.RefreshData(Spil.Instance); }