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; //} }
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(); } }
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); }