void OnBoltMoved(float position) { if (chamber == null) { return; } if (previousBoltState == BoltState.Closed) { switch (chamber.Clear()) { case ChamberState.Empty: State = EjectorState.Empty; break; case ChamberState.Round: State = EjectorState.Round; break; case ChamberState.Case: State = EjectorState.Case; break; } } previousBoltState = BoltState.Running; }