示例#1
0
    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;
    }