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; }
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; }
void Start() { if (bolt != null) { previousBoltState = bolt.State; bolt.OnBoltMoved += OnBoltMoved; bolt.OnBoltOpened += OnBoltOpened; bolt.OnBoltClosed += OnBoltClosed; } }
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(); } }
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) { }
public override void ManipulateRight() { if(m_boltState == BoltState.Open){ m_boltState = BoltState.Up; m_partialReload = false; } }
public override void ManipulateLeft() { if(m_boltState == BoltState.Up){ m_boltState = BoltState.Open; RemoveTopRound(); } }
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(); }
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; } }
private BoltStateConfiguration(BoltState plugin) : base(plugin) { }
private BoltStateResources(BoltState plugin) : base(plugin) { icons = new Icons(this); }