Example #1
0
    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;
            }
        }
    }
Example #2
0
        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));
                    }
                }
            }
        }
Example #3
0
    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);
                }
            }
        }