public void Update() { if (!setup) { setup = true; Piston.Velocity = 0.2f; if (!Hummingbird.CheckHummingbirdComponents(ChasisMerge, ref hummingbirdConnector, ref turretRotor, ref PartScratchpad, ref status)) { return; } if (Hummingbird.CheckHummingbirdComponents(TurretMerge, ref hummingbirdConnector, ref turretRotor, ref PartScratchpad, ref status)) { turretRotor.Detach(); releaseStage = 1; Piston.Velocity = -0.2f; return; } if (turretRotor != null) { Hummingbird = Hummingbird.GetHummingbird(turretRotor, Host.Context.Terminal.GetBlockGroupWithName(Hummingbird.GroupName)); if (Hummingbird.Gats.Count == 0) { Hummingbird = null; TurretMerge.Enabled = true; return; } releaseStage = 20; turretRotor.Displacement = 0.11f; return; } } if (releaseStage > 1 && releaseStage < 20) { releaseStage++; } if (releaseStage == 5) { } else if (releaseStage == 7) { } else if (releaseStage == 8) { GridTerminalHelper.OtherMergeBlock(TurretMerge).Enabled = false; TurretMerge.Enabled = false; } else if (releaseStage == 9) { turretRotor.Attach(); } else if (releaseStage == 10) { Piston.Velocity = 0.2f; } else if (releaseStage > 11 && Piston.CurrentPosition == Piston.MaxLimit) { turretRotor.Displacement = 0.11f; Hummingbird = Hummingbird.GetHummingbird(turretRotor, Host.Context.Terminal.GetBlockGroupWithName(Hummingbird.GroupName)); } }