Exemplo n.º 1
0
    void OnBoltOpened()
    {
        switch (state)
        {
        case EjectorState.Empty: break;

        case EjectorState.Round:
            Debug.Log("Round ejected.");
            if (OnRoundEjected != null)
            {
                OnRoundEjected();
            }
            break;

        case EjectorState.Case:
            Debug.Log("Case ejected.");
            if (OnCaseEjected != null)
            {
                OnCaseEjected();
            }
            break;
        }
        State             = EjectorState.Empty;
        previousBoltState = BoltState.Open;
    }
Exemplo n.º 2
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;
    }
Exemplo n.º 3
0
 void Start()
 {
     if (bolt != null)
     {
         previousBoltState  = bolt.State;
         bolt.OnBoltMoved  += OnBoltMoved;
         bolt.OnBoltOpened += OnBoltOpened;
         bolt.OnBoltClosed += OnBoltClosed;
     }
 }
Exemplo n.º 4
0
 public override void ManipulateDown()
 {
     if(m_boltState == BoltState.Up){
         m_boltState = BoltState.Closed;
     }
     else if(m_boltState == BoltState.Open && m_partialReload)
     {
         //m_ammoReserve--;
         m_partialReload = false;
         AddLiveRound();
     }
 }
Exemplo n.º 5
0
    void OnBoltClosed()
    {
        if (chamber != null)
        {
            switch (state)
            {
            case EjectorState.Empty: break;

            case EjectorState.Round:
                chamber.State = ChamberState.Round;
                break;

            case EjectorState.Case:
                chamber.State = ChamberState.Case;
                break;
            }
            State = EjectorState.Empty;
        }
        previousBoltState = BoltState.Closed;
    }
 private BoltStateManifest(BoltState plugin) : base(plugin)
 {
 }
Exemplo n.º 7
0
 public override void ManipulateRight()
 {
     if(m_boltState == BoltState.Open){
         m_boltState = BoltState.Up;
         m_partialReload = false;
     }
 }
Exemplo n.º 8
0
 public override void ManipulateLeft()
 {
     if(m_boltState == BoltState.Up){
         m_boltState = BoltState.Open;
         RemoveTopRound();
     }
 }
Exemplo n.º 9
0
 void OnEnable()
 {
     ui.gameObject.SetActive (true);
     m_boltState = BoltState.Closed;
     m_magazine = new BulletState[5];
     m_partialReload = false;
     for(int i = 0; i < 5; i++){
         AddLiveRound();
     }
     Update();
 }
Exemplo n.º 10
0
 public override void ManipulateUp()
 {
     if(m_boltState == BoltState.Closed){
         m_boltState = BoltState.Up;
     }
     else if(m_boltState == BoltState.Open && !MagazineFull /*&& m_ammoReserve > 0*/){
         m_partialReload = true;
     }
 }
Exemplo n.º 11
0
 private BoltStateConfiguration(BoltState plugin) : base(plugin)
 {
 }
Exemplo n.º 12
0
 private BoltStateResources(BoltState plugin) : base(plugin)
 {
     icons = new Icons(this);
 }