public Semaforo(int changeStateLimit) { this.state = EstadoSemaforo.alto; this.changeStateLimit = changeStateLimit; this.changeStateLimitPrecaution = (int)(changeStateLimit * 0.2f); this.count = 0; }
public Controlador(Cruzamento cruzamento) { Cruzamento = cruzamento; EstadoSemaforo es = EstadoSemaforo.Fechado; foreach (Rua rua in cruzamento.Ruas) { if (rua.Semaforo != null) { rua.Semaforo.Estado = es; if (es == EstadoSemaforo.Aberto) { es = EstadoSemaforo.Fechado; } else { es = EstadoSemaforo.Aberto; } rua.Semaforo.TrocaDeEstado += Semaforo_TrocaDeEstado; } } }
public Semaforo() { configuracao = new Dictionary <EstadoSemaforo, int>(); configuracao[EstadoSemaforo.Aberto] = 30; configuracao[EstadoSemaforo.Fechado] = 30; Estado = EstadoSemaforo.Fechado; }
private void TrocaEstado() { if (Estado == EstadoSemaforo.Aberto) { Estado = EstadoSemaforo.Fechado; } else { Estado = EstadoSemaforo.Aberto; } }
public Semaforo(ref ObjectId id, int indexList, int changeStateLimit, int changeStateLimitPrecaution, ref ObjectId idI) { this.id = id; this.idIndicator = idI; this.block = Lab3.DBMan.OpenEnity(id) as BlockReference; this.blockIndicator = Lab3.DBMan.OpenEnity(idIndicator) as BlockReference; this.indexList = indexList; this.state = EstadoSemaforo.alto; this.changeStateLimit = changeStateLimit; this.changeStateLimitPrecaution = changeStateLimitPrecaution; this.count = 0; Lab3.DBMan.UpdateBlockPosition( new Point3d(this.block.Position.X, this.block.Position.Y, this.block.Position.Z+100f), this.idIndicator); this.UpdateColor(); }
public void Update() { this.count++; if (this.count >= this.changeStateLimitPrecaution && this.state.Equals(EstadoSemaforo.precaucion)) { this.state = EstadoSemaforo.alto; this.count = 0; } if (this.count >= this.changeStateLimit && this.state.Equals(EstadoSemaforo.alto)) { this.state = EstadoSemaforo.siga; this.count = 0; } if (this.count >= this.changeStateLimit && this.state.Equals(EstadoSemaforo.siga)) { this.state = EstadoSemaforo.precaucion; this.count = 0; } this.UpdateColor(); }