Exemplo n.º 1
0
        private void GetPlacementMinMaxTS(ActionTimePair atPair, List <ActionTimePair> atPairs, out int minTs, out int maxTs)
        {
            minTs = 5 * 60;
            maxTs = atPair.KeyTime - 10;

            int indexMe = atPairs.IndexOf(atPair);

            if (indexMe - 1 >= 0)
            {
                minTs = atPairs[indexMe - 1].KeyTime + 1;
            }
            //if (indexMe + 1 < atPairs.Count)
            //{
            //    maxTs = atPairs[indexMe + 1].KeyTime;
            //}
        }
Exemplo n.º 2
0
        private Action GetCTPAction(ActionTimePair nextCTP)
        {
            int indexAdded = 0;

            switch (nextCTP.EType)
            {
            case EventType.BlowerPress:
                indexAdded = _blowerId;
                _blowerId++;
                return(new BlowerPress(indexAdded));

                break;

            case EventType.RopeCut:
                indexAdded = _ropeId;
                //StaticData.EngineManager.SpringsManagerEngine.ListOfServices.Count - 1;
                _ropeId++;
                return(new RopeCut(indexAdded));

                break;

            case EventType.BubblePinch:
                indexAdded = _bubbleId;
                //StaticData.EngineManager.BubbleManagerEngine.ListOfServices.Count - 1;
                _bubbleId++;
                return(new BubblePinch(indexAdded));

                //return new VoidAction();
                break;

            case EventType.RocketPress:
                return(new RocketPress());

                //return new VoidAction();
                break;

            case EventType.BumperInteraction:
                return(new VoidAction());

                //return new VoidAction();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 3
0
        private CompTimePair GetPlacementCTPair(ActionTimePair atPair, List <ActionTimePair> atPairs)
        {
            int minTS, maxTS;

            GetPlacementMinMaxTS(atPair, atPairs, out minTS, out maxTS);
            //int placeTS = //_rand.Next(minTS, maxTS);

            int          placeTS = _rand.Next(minTS, (minTS + maxTS) / 2);
            CompTimePair res     = null;

            switch (atPair.EType)
            {
            case EventType.BlowerPress:
                break;

            case EventType.RopeCut:
                break;

            case EventType.BubblePinch:
                res = new CompTimePair(ComponentType.Bubble, placeTS);
                break;

            case EventType.RocketPress:
                res = new CompTimePair(ComponentType.Rocket, placeTS);
                break;

            case EventType.BumperInteraction:
                break;

            case EventType.OmNomFeed:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(res);
        }