internal PressureStatisticalResult( PressureNode first, PressureNode last, IEnumerable <Crest> crests, IEnumerable <Trough> troughs, Crest highestInCrests, Crest lowestInCrests, Trough highestInTroughs, Trough lowestInTroughs) { this.First = first; this.Last = last; this.Crests = crests.ToList(); this.Troughs = troughs.ToList(); this.PeakToPeak = this.Crests .Cast <PressureNode>() .Concat(this.Troughs) .OrderBy(x => x.TimeStamp) .ToList(); this.HighestInCrests = highestInCrests; this.HighestInTroughs = highestInTroughs; this.LowestInCrests = lowestInCrests; this.LowestInTroughs = lowestInTroughs; }
public void setup() { LoadConfig(@"configuration/machine.json"); setup_ball_search(); this.all_gi_on(); // Lamp showage //this.lampctrl.register_show("attract1", @"lamps\attract1.lampshow"); this.lampctrl.RegisterShow("attract2", @"lamps/attract2.lampshow"); //this.lampctrl.register_show("attract3", @"lamps\attract3.lampshow"); //this.lampctrl.register_show("attract4", @"lamps\attract4.lampshow"); // Intantiate basic game features attract = new Attract(this); _base_game_mode = new BaseGameMode(this); string[] trough_switchnames = new string[3] { "trough1", "trough2", "trough3" }; trough = new Trough(this, trough_switchnames, "trough1", "trough", new string[] { "leftOutlane", "rightOutlane" }, "shooterLane"); ball_save = new BallSave(this, "ballSave", "shooterLane"); // Link ball save to trough ball_save.allow_multiple_saves = false; trough.ball_save_callback = new AnonDelayedHandler(ball_save.launch_callback); trough.num_balls_to_save = new GetNumBallsToSaveHandler(ball_save.get_num_balls_to_save); ball_save.trough_enable_ball_save = new BallSaveEnable(trough.enable_ball_save); this.PROC.initialize_i2c(0x40); ServoConfiguration _servoConfig = new ServoConfiguration() { address = 0x40, minimum = 150, maximum = 600 }; this.wall1 = new I2cServo(0, _servoConfig, this.PROC); this.wall2 = new I2cServo(1, _servoConfig, this.PROC); this.flasherMotor1 = new I2cServo(2, _servoConfig, this.PROC); this.flasherMotor2 = new I2cServo(3, _servoConfig, this.PROC); this.flasherMotor3 = new I2cServo(4, _servoConfig, this.PROC); this.testServo = new I2cServo(0, _servoConfig, this.PROC); if (this.ledDriver != null) { this.ledDriver.FadeAllToColor(255, 255, 255, 0); this.ledDriver.ScheduleAll(0xFFFFFFFF); } // Instead of resetting everything here as well as when a user initiated reset occurs, do everything in // this.reset and call it now and during a user initiated reset this.Reset(); }
public void RegisterTrough(Trough trough, GameObject go) { var troughApi = new TroughApi(trough, this); _apis.Add(troughApi); _initializables.Add(troughApi); _switchDevices[trough.Name] = troughApi; _coilDevices[trough.Name] = troughApi; _wireDevices[trough.Name] = troughApi; }
private void AddReagent(IReagent reagent) { var reagentTrough = new Trough { Name = reagent.Name }; _result.Labware.Add(reagentTrough); _locationRepository.SetOrigin(reagent, reagentTrough); }
public static GameObject InstantiateEditorPrefab(this Trough trough, Transform parent) { var prefab = Resources.Load <GameObject>("Prefabs/Trough"); var troughGo = UnityEditor.PrefabUtility.InstantiatePrefab(prefab, parent) as GameObject; if (!troughGo) { return(troughGo); } var troughComponent = troughGo.GetComponent <TroughComponent>(); troughComponent.SetData(trough.Data); return(troughGo); }
private void CreateTrough() { var troughData = new TroughData("Trough"); if (_table.Has <Kicker>("BallRelease")) { troughData.ExitKicker = "BallRelease"; } if (_table.Has <Kicker>("Drain")) { troughData.EntryKicker = "Drain"; } var item = new Trough(troughData); _table.Add(item, true); CreateGameObjects(_tableAuthoring.Table, item, _tableAuthoring.gameObject); }
/// <summary> /// Creates a trough. /// </summary> /// <param name="tableGo">Table game object, for retrieving references</param> /// <param name="parentGo">Parent game object of the new trough</param> /// <param name="name">Name of the new trough</param> /// <param name="exitKicker">Name of the exit kicker</param> /// <param name="entrySwitch">Name of the entry switch</param> protected static TroughComponent CreateTrough(GameObject tableGo, GameObject parentGo, string name = "Trough", string exitKicker = "BallRelease", string entrySwitch = "Drain") { var trough = new Trough(new TroughData { BallCount = 4, SwitchCount = 4, Type = TroughType.ModernMech, }); var troughGo = trough.InstantiateEditorPrefab(parentGo.transform); var troughComponent = troughGo.GetComponent <TroughComponent>(); var kickers = tableGo.GetComponentsInChildren <KickerComponent>(); foreach (var kicker in kickers) { if (string.Equals(kicker.name, exitKicker, StringComparison.OrdinalIgnoreCase)) { troughComponent.PlayfieldExitKicker = kicker; troughComponent.PlayfieldExitKickerItem = kicker.AvailableCoils.First().Id; } if (string.Equals(kicker.name, entrySwitch, StringComparison.OrdinalIgnoreCase)) { troughComponent.PlayfieldEntrySwitch = kicker; troughComponent.PlayfieldEntrySwitchItem = kicker.AvailableSwitches.First().Id; } } if (troughComponent.PlayfieldEntrySwitch == null) { var triggers = tableGo.GetComponentsInChildren <TriggerComponent>(); foreach (var trigger in triggers) { if (string.Equals(trigger.name, entrySwitch, StringComparison.OrdinalIgnoreCase)) { troughComponent.PlayfieldEntrySwitch = trigger; } } } troughGo.name = name; return(troughComponent); }
public void setup() { LoadConfig(@"configuration\machine.json"); setup_ball_search(); this.all_gi_on(); // Lamp showage this.lampctrl.register_show("attract1", @"lamps\attract1.lampshow"); this.lampctrl.register_show("attract2", @"lamps\attract2.lampshow"); this.lampctrl.register_show("attract3", @"lamps\attract3.lampshow"); this.lampctrl.register_show("attract4", @"lamps\attract4.lampshow"); // Intantiate basic game features attract = new Attract(this); _base_game_mode = new BaseGameMode(this); string[] trough_switchnames = new string[5] { "trough1", "trough2", "trough3", "trough4", "trough5" }; trough = new Trough(this, trough_switchnames, "trough5", "trough", new string[] { "leftOutlane", "rightOutlane" }, "shooterLane"); ball_save = new BallSave(this, "ballSave", "shooterLane"); claw = new Claw(this); // Link ball save to trough ball_save.allow_multiple_saves = false; trough.ball_save_callback = new AnonDelayedHandler(ball_save.launch_callback); trough.num_balls_to_save = new GetNumBallsToSaveHandler(ball_save.get_num_balls_to_save); ball_save.trough_enable_ball_save = new BallSaveEnable(trough.enable_ball_save); // Instead of resetting everything here as well as when a user initiated reset occurs, do everything in // this.reset and call it now and during a user initiated reset this.Reset(); }
internal static IVpxPrefab InstantiatePrefab(this Trough trough) { var prefab = Resources.Load <GameObject>("Prefabs/Trough"); return(new VpxPrefab <Trough, TroughData, TroughComponent>(prefab, trough)); }
public void RegisterTrough(Trough trough, Entity entity, GameObject go) { var troughApi = new TroughApi(trough, entity, this); _initializables.Add(troughApi); }