/// <summary> /// Send a SMS messages to multiple phones at once. /// </summary> /// <param name="type">Send a SMS messages to multiple phones at once.</param> /// <param name="nationCode">nation dialing code, e.g. China is 86, USA is 1</param> /// <param name="phoneNumbers">phone number array</param> /// <param name="msg">SMS message content</param> /// <param name="extend">extend field, default is empty string</param> /// <param name="ext">ext field, content will be returned by server as it is</param> /// <returns>SmsMultiSenderResult</returns> public SmsMultiSenderResult send(int type, string nationCode, List <string> phoneNumbers, string msg, string extend, string ext) { long random = SmsSenderUtil.getRandom(); long now = SmsSenderUtil.getCurrentTime(); JSONObjectBuilder body = new JSONObjectBuilder() .Put("tel", toTel(nationCode, phoneNumbers)) .Put("type", type) .Put("msg", msg) .Put("sig", SmsSenderUtil.calculateSignature(appkey, random, now, phoneNumbers.ToArray())) .Put("time", now) .Put("extend", !String.IsNullOrEmpty(extend) ? extend : "") .Put("ext", !String.IsNullOrEmpty(ext) ? ext : ""); HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url) .addHeader("Conetent-Type", "application/json") .addQueryParameter("sdkappid", this.appid) .addQueryParameter("random", random) .setConnectionTimeout(60 * 1000) .setRequestTimeout(60 * 1000) .setBody(body.Build().ToString()); // May throw HttpRequestException HTTPResponse res = httpclient.fetch(req); // May throw HTTPException handleError(res); SmsMultiSenderResult result = new SmsMultiSenderResult(); // May throw JSONException result.parseFromHTTPResponse(res); return(result); }
/// <summary> /// Send a tts voice. /// </summary> /// <param name="nationCode">nation dialing code, e.g. China is 86, USA is 1</param> /// <param name="phoneNumber">phone number</param> /// <param name="templateId">template id</param> /// <param name="parameters">template parameters</param> /// <param name="playtimes">playtimes, optional, max is 3, default is 2</param> /// <param name="ext">ext field, content will be returned by server as it is</param> /// <returns>TtsVoiceSenderResult</returns> public TtsVoiceSenderResult send(string nationCode, string phoneNumber, int templateId, string[] parameters, int playtimes, string ext) { long random = SmsSenderUtil.getRandom(); long now = SmsSenderUtil.getCurrentTime(); JSONObjectBuilder body = new JSONObjectBuilder() .Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build()) .Put("tpl_id", templateId) .PutArray("params", parameters) .Put("playtimes", playtimes) .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now, phoneNumber)) .Put("time", now) .Put("ext", !String.IsNullOrEmpty(ext) ? ext : ""); HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url) .addHeader("Conetent-Type", "application/json") .addQueryParameter("sdkappid", this.appid) .addQueryParameter("random", random) .setConnectionTimeout(60 * 1000) .setRequestTimeout(60 * 1000) .setBody(body.Build().ToString()); // May throw HttpRequestException HTTPResponse res = httpclient.fetch(req); // May throw HTTPException handleError(res); TtsVoiceSenderResult result = new TtsVoiceSenderResult(); // May throw JSONException result.parseFromHTTPResponse(res); return(result); }
/// <summary> /// Send single SMS message with template paramters. /// </summary> /// <param name="nationCode">nation dialing code, e.g. China is 86, USA is 1</param> /// <param name="phoneNumber">phone number</param> /// <param name="templateId">template id</param> /// <param name="parameters">template parameters</param> /// <param name="sign">Sms user sign</param> /// <param name="extend">extend field, default is empty string</param> /// <param name="ext">ext field, content will be returned by server as it is</param> /// <returns>SmsSingleSenderResult</returns> public SmsSingleSenderResult SendMessage(TencentMessage tencentMessage) { long random = SmsSenderUtil.getRandom(); long now = SmsSenderUtil.getCurrentTime(); JSONObjectBuilder body = new JSONObjectBuilder() .Put("tel", (new JSONObjectBuilder()).Put("nationcode", tencentMessage.NationCode).Put("mobile", tencentMessage.PhoneNumber).Build()) .Put("sig", SmsSenderUtil.calculateSignature(appkey, random, now, tencentMessage.PhoneNumber)) .Put("tpl_id", tencentMessage.TemplateId) .PutArray("params", tencentMessage.Parameters) .Put("sign", !String.IsNullOrEmpty(tencentMessage.Sign) ? tencentMessage.Sign : "") .Put("time", now) .Put("extend", !String.IsNullOrEmpty(tencentMessage.Extend) ? tencentMessage.Extend : "") .Put("ext", !String.IsNullOrEmpty(tencentMessage.Ext) ? tencentMessage.Ext : ""); HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url) .addHeader("Conetent-Type", "application/json") .addQueryParameter("sdkappid", this.appid) .addQueryParameter("random", random) .setConnectionTimeout(60 * 1000) .setRequestTimeout(60 * 1000) .setBody(body.Build().ToString()); // May throw HttpRequestException HTTPResponse res = httpclient.fetch(req); // May throw HTTPException handleError(res); SmsSingleSenderResult result = new SmsSingleSenderResult(); // May throw JSONException result.parseFromHTTPResponse(res); return(result); }
private HTTPResponse pull(int type, string nationCode, string mobile, long beginTime, long endTime, int max) { long random = SmsSenderUtil.getRandom(); long now = SmsSenderUtil.getCurrentTime(); JSONObjectBuilder body = new JSONObjectBuilder(); body.Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now)) .Put("type", type) .Put("time", now) .Put("max", max) .Put("begin_time", beginTime) .Put("end_time", endTime) .Put("nationcode", nationCode) .Put("mobile", mobile); HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url) .addHeader("Conetent-Type", "application/json") .addQueryParameter("sdkappid", this.appid) .addQueryParameter("random", random) .setConnectionTimeout(60 * 1000) .setRequestTimeout(60 * 10000) .setBody(body.Build().ToString()); // May throw HttpRequestException HTTPResponse res = httpclient.fetch(req); // May throw HTTPException handleError(res); return(res); }
public void OnRemotePlayerMovement_MovePlayerGameObject() { // Given const float horizontal = 1f; const float vertical = 2f; var jobj = JSONObjectBuilder.Empty() .WithPlayerId("TEST_ID") .WithMovementCoordinates(horizontal, vertical) .WrapAsPayload(); var socketEvent = SocketIOEventBuilder.New("test").WithData(jobj).Build(); const float time = 0.123f; unityTimeProxyMock.Setup(x => x.deltaTime).Returns(time); const float movementSpeed = 12f; const float rotationSpeed = 7f; controller.SetMovementSpeed(movementSpeed); controller.SetRotatonSpeed(rotationSpeed); // When Debug.Log(fakePlayerInstance.transform.position); controller.OnRemotePlayerMovement(socketEvent); Debug.Log(fakePlayerInstance.transform.position); // Then unityGameObjectProxyMock.Verify(x => x.Find("Player:TEST_ID"), Times.Once); const float rotationAngle = horizontal * rotationSpeed * time * Mathf.Rad2Deg; Assert.AreEqual(vertical * movementSpeed * time, fakePlayerInstance.transform.position.x); Assert.AreEqual(rotationAngle, fakePlayerInstance.transform.rotation.y); }
private static SocketIOEvent BuildSocketIOEventWithPlayer(string eventName, string playerId, float posX = 0F, float posY = 0F, float posZ = 0F) { var jobj = JSONObjectBuilder.Empty() .WithPayload(BuildJSONObjectWithPlayerId(playerId, posX, posY, posZ)) .Build(); var socketEvent = SocketIOEventBuilder.New(eventName).WithData(jobj).Build(); return(socketEvent); }
private static JSONObject BuildJSONObjectWithPlayerId(string playerId, float posX = 0F, float posY = 0F, float posZ = 0F) { var jobj = JSONObjectBuilder.Empty() .WithPlayerId(playerId) .WithField(SOCKET_DATA_FIELDS.PlayerId, playerId) .WithPositionObject(posX, posY, posZ) .Build(); return(jobj); }
private static SocketIOEvent BuildOnPlayerReceivedEvent(List <JSONObject> players) { var jobj = JSONObjectBuilder.Empty() .WithField(SOCKET_DATA_FIELDS.Payload, players) .Build(); var socketEvent = SocketIOEventBuilder.New("test").WithData(jobj).Build(); var data = socketEvent.data.GetField("players"); return(socketEvent); }
private void BuildFakeEvent() { fakeEvent = new GameEvent { Name = "TEST", Payload = JSONObjectBuilder.Empty() .WithField("a", 1.23F) .WrapAsPayload() }; }
private static SocketIOEvent BuildPlayerInitialPositionSocketEvent(float posX, float posY, float posZ) { var data = JSONObjectBuilder.Empty() .WithPosition(posX, posY, posZ) .WrapAsPayload(); var socketEvent = SocketIOEventBuilder.Empty(SOCKET_EVENTS.ServerWelcome) .WithData(data) .Build(); return(socketEvent); }
private JArray toTel(string nationCode, List <string> phoneNumbers) { JSONArrayBuilder builder = new JSONArrayBuilder(); foreach (var phoneNumber in phoneNumbers) { JSONObjectBuilder phone = new JSONObjectBuilder(); phone.Put("nationcode", nationCode); phone.Put("mobile", phoneNumber); builder.Put(phone.Build()); } return(builder.Build()); }