private void SetbounceEvent() { if ((playerTransform == rightPlayer.transform && currentBounce.x > 0f) || (playerTransform == leftPlayer.transform && currentBounce.x < 0f)) { bounceEvent = BounceEvent.AIShot; } else if ((playerTransform == rightPlayer.transform && currentBounce.x < 0f) || (playerTransform == leftPlayer.transform && currentBounce.x > 0f)) { bounceEvent = BounceEvent.EnemyShot; } else if (currentBounce.x == 0f) { if((playerTransform == rightPlayer.transform && ballTransform.gameObject.GetComponent<Ball>().GetPath()[1].x < 0f) || (playerTransform == leftPlayer.transform && ballTransform.gameObject.GetComponent<Ball>().GetPath()[1].x > 0f)) { bounceEvent = BounceEvent.AIShot; } else if ((playerTransform == rightPlayer.transform && ballTransform.gameObject.GetComponent<Ball>().GetPath()[1].x > 0f) || (playerTransform == leftPlayer.transform && ballTransform.gameObject.GetComponent<Ball>().GetPath()[1].x < 0f)) { bounceEvent = BounceEvent.EnemyShot; } } }
public void BounceEventDetails(DateTime fromDate, DateTime toDate, string TriggeredSendDefinitionObjectID) { List <string> BounceSubscribers; RetrieveRequest retrieveRequest = new RetrieveRequest(); retrieveRequest.ObjectType = "BounceEvent"; String[] props = { "SubscriberKey", "BounceType", "SMTPCode", "SMTPReason", "BounceCategory", "EventDate", "EventType" }; retrieveRequest.Properties = props; SimpleFilterPart filter = new SimpleFilterPart(); //Use this only if you are retrieving for TriggeredSend filter.Property = "TriggeredSendDefinitionObjectID"; String[] vlaues = { TriggeredSendDefinitionObjectID }; //filter.Property = "SendID"; //String[] vlaues = { "28980" }; filter.Value = vlaues; SimpleFilterPart dateFilter = new SimpleFilterPart(); dateFilter.Property = "EventDate"; dateFilter.SimpleOperator = SimpleOperators.between; dateFilter.DateValue = new DateTime[2]; dateFilter.DateValue[0] = fromDate.Date; //BeingDate; dateFilter.DateValue[1] = toDate.Date; //EndDate; ComplexFilterPart cfilter = new ComplexFilterPart(); cfilter.LeftOperand = filter; cfilter.LogicalOperator = LogicalOperators.AND; cfilter.RightOperand = dateFilter; retrieveRequest.Filter = cfilter; /** * Use this only if you are retrieving data from sub-account */ retrieveRequest.ClientIDs = new ClientID[] { new ClientID() { ID = config.ClientId.Value, IDSpecified = true } }; APIObject[] results = null; String requestId = null; String response = _Client.Retrieve(retrieveRequest, out requestId, out results); BounceEvent bounceEvent = null; if (response != null && response.ToLower().Equals("ok")) { if (results != null && results.Count() > 0) { BounceSubscribers = results.Cast <BounceEvent>().Select(a => a.SubscriberKey).ToList(); Console.WriteLine("*******************************************************"); Console.WriteLine("*******************************************************"); Console.WriteLine("************* List of Bounce Subscribers **************"); Console.WriteLine("*******************************************************"); Console.WriteLine("*******************************************************"); foreach (var sub in BounceSubscribers) { Console.WriteLine(string.Format("Subscriber Key: {0}", sub)); } } } }
private void CalculateTargetVector() { a++; // Debug.Log("Now Calculating" + a); SetbounceEvent(); if (bounceEvent == BounceEvent.AIShot) { targetVector = resetPosition; } else if (bounceEvent == BounceEvent.EnemyShot) { ballBounceList = ballTransform.gameObject.GetComponent<Ball>().GetPath(); if (ballBounceList != ballBounceListSave) { usedTargetPoints.Clear(); } Vector2 origin2 = new Vector2(0, 0); Vector2 target2 = new Vector2(0, 0); percentageX = StatePercentage(); float lengthX = 0f; lengthX = persFieldLength * (percentageX / 100f); for (int i = 0; i < (ballBounceList.Count - 1); i++) { bool allRdyUsed = false; if (lengthX < 0f) { if (ballBounceList[i + 1] != null) { if (ballBounceList[i + 1].x <= lengthX && ballBounceList[i].x >= lengthX) { if (ballBounceListSave == ballBounceList) { foreach (int o in usedTargetPoints) { if (o == i) { allRdyUsed = true; } } } if (!allRdyUsed) { usedTargetPoints.Add(i); target2 = ballBounceList[(i + 1)]; origin2 = ballBounceList[i]; break; } } } } else if (lengthX > 0f) { if (ballBounceList[(i + 1)] != null) { if (ballBounceList[(i + 1)].x >= lengthX && ballBounceList[i].x <= lengthX) { if (ballBounceListSave == ballBounceList) { foreach (int o in usedTargetPoints) { if (o == i) { allRdyUsed = true; } if (ballBounceList[0].x > 0f) allRdyUsed = false; } } if (!allRdyUsed) { usedTargetPoints.Add(i); target2 = ballBounceList[(i + 1)]; origin2 = ballBounceList[i]; break; } } } } else { // Debug.Log("Which Player?!"); } } #region alter Code /* for (int i = 0; i < bounceArray.Count; i++) { Debug.Log (bounceArray [i]); // targetVector = AimTarget(bounceArray[i], originVector, percentage); if (i < (bounceArray.Count - 1)) { target2 = bounceArray [i + 1]; originVector = bounceArray [i]; //- bounceArray [i]; if (playerTransform == rightPlayer.transform && originVector.x < 0f && target2.x > 0f) originVector = AimTarget (bounceArray [i + 1], bounceArray [i], percentage, true); else if (playerTransform == leftPlayer.transform && originVector.x > 0f && target2.x < 0f) originVector = AimTarget (bounceArray [i + 1], bounceArray [i], percentage, true); } if ((playerTransform == leftPlayer.transform && originVector.x <= 0f) || (playerTransform == rightPlayer.transform && originVector.x >= 0f)) lengthX += AimTarget (target2, originVector, percentage, false).x; } for (int i = 0; i <= (bounceArray.Count - 1); i++) { if (i < bounceArray.Count - 1) { if ((bounceArray [i].x <= lengthX && bounceArray [(i + 1)].x >= lengthX) || (bounceArray [i].x >= lengthX && bounceArray [(i + 1)].x <= lengthX)) { target2 = bounceArray [i + 1]; originVector = bounceArray [i]; //- bounceArray [i]; if (playerTransform == rightPlayer.transform && originVector.x < 0f) originVector = AimTarget (bounceArray [i + 1], bounceArray [i], percentage, true); else if (playerTransform == leftPlayer.transform && originVector.x > 0f) originVector = AimTarget (bounceArray [i + 1], bounceArray [i], percentage, true); } } } } */ #endregion if (target2 == Vector2.zero && usedTargetPoints.Count != 1) { /*int c = 0; foreach(int i in usedTargetPoints) { c = i; } usedTargetPoints[c] = 0; CalculateTargetVector();*/ targetVector = resetPosition; } else if (target2 == Vector2.zero && usedTargetPoints.Count == 1) { //targetvector stays on old value } else { AskStartingState(origin2); /* if ((target2.x - origin2.x < 0 && playerTransform == rightPlayer.transform) || (target2.x - origin2.x > 0 && playerTransform == leftPlayer.transform)) targetVector = resetPosition; else{*/ targetVector = AimTarget(target2, origin2, ballBounceList, lengthX); targetVector += GetMissValue(missChnc); //if (playerTransform == rightPlayer.transform) { targetVector += ;} } ResetUntilTurn(); ballBounceListSave = ballBounceList; } else if (bounceEvent == BounceEvent.neutral) { /*Debug.Log("bounceEvent == neutral");*/ } bounceEvent = BounceEvent.neutral; }
private static void CopyEvents(Interaction source, Interaction target) { foreach (Event e in source.Events) { Event result; if (e is CampaignEvent ce) { CampaignEvent newEvent = new CampaignEvent(ce.CampaignDefinitionId, ce.Timestamp); result = newEvent; } else if (e is DownloadEvent de) { DownloadEvent newEvent = new DownloadEvent(de.Timestamp, de.ItemId); result = newEvent; } else if (e is Goal g) { Goal newEvent = new Goal(g.DefinitionId, g.Timestamp); result = newEvent; } else if (e is MVTestTriggered mvt) { MVTestTriggered newEvent = new MVTestTriggered(mvt.Timestamp); newEvent.Combination = mvt.Combination; newEvent.EligibleRules = mvt.EligibleRules; newEvent.ExposureTime = mvt.ExposureTime; newEvent.FirstExposure = mvt.FirstExposure; newEvent.IsSuspended = mvt.IsSuspended; newEvent.ValueAtExposure = mvt.ValueAtExposure; result = newEvent; } else if (e is Outcome o) { Outcome newEvent = new Outcome(o.DefinitionId, o.Timestamp, o.CurrencyCode, o.MonetaryValue); result = newEvent; } else if (e is PageViewEvent pve) { PageViewEvent newEvent = new PageViewEvent( pve.Timestamp, pve.ItemId, pve.ItemVersion, pve.ItemLanguage); newEvent.SitecoreRenderingDevice = pve.SitecoreRenderingDevice; newEvent.Url = pve.Url; result = newEvent; } else if (e is PersonalizationEvent pe) { PersonalizationEvent newEvent = new PersonalizationEvent(pe.Timestamp); newEvent.ExposedRules = pe.ExposedRules; result = newEvent; } else if (e is SearchEvent se) { SearchEvent newEvent = new SearchEvent(se.Timestamp); newEvent.Keywords = se.Keywords; result = newEvent; } else if (e is BounceEvent be) { BounceEvent newEvent = new BounceEvent(be.Timestamp); newEvent.BounceReason = be.BounceReason; newEvent.BounceType = be.BounceType; result = newEvent; } else if (e is DispatchFailedEvent dfe) { DispatchFailedEvent newEvent = new DispatchFailedEvent(dfe.Timestamp); newEvent.FailureReason = dfe.FailureReason; result = newEvent; } else if (e is EmailClickedEvent ece) { EmailClickedEvent newEvent = new EmailClickedEvent(ece.Timestamp); newEvent.Url = ece.Url; result = newEvent; } else if (e is EmailOpenedEvent eoe) { EmailOpenedEvent newEvent = new EmailOpenedEvent(eoe.Timestamp); result = newEvent; } else if (e is EmailSentEvent ese) { EmailSentEvent newEvent = new EmailSentEvent(ese.Timestamp); result = newEvent; } else if (e is SpamComplaintEvent sce) { SpamComplaintEvent newEvent = new SpamComplaintEvent(sce.Timestamp); result = newEvent; } else if (e is UnsubscribedFromEmailEvent uee) { UnsubscribedFromEmailEvent newEvent = new UnsubscribedFromEmailEvent(uee.Timestamp); result = newEvent; } else { result = new Event(e.DefinitionId, e.Timestamp); } // Many of the above are derived from EmailEvent, so only copy relevant properties once if (e is EmailEvent ee && result is EmailEvent nee) { nee.EmailAddressHistoryEntryId = ee.EmailAddressHistoryEntryId; nee.InstanceId = ee.InstanceId; nee.ManagerRootId = ee.ManagerRootId; nee.MessageId = ee.MessageId; nee.MessageLanguage = ee.MessageLanguage; nee.TestValueIndex = ee.TestValueIndex; } result.Data = e.Data; result.DataKey = e.DataKey; result.Duration = e.Duration; result.EngagementValue = e.EngagementValue; result.Id = e.Id; result.ParentEventId = e.ParentEventId; result.Text = e.Text; foreach (KeyValuePair <string, string> customValue in e.CustomValues) { result.CustomValues.Add(customValue.Key, customValue.Value); } if (result != null) { target.Events.Add(result); } } }