public void GoUpImpl() { if (TargetFloor == BuildingFactory.NoFloor) { return; } if (!CurrentFloor.Upper.IsNoFloor) { lock (_lock) CurrentFloor = CurrentFloor.Upper; NotifyObservers(); StopRequest stopRequest = StopRequests.Find(sr => sr.FloorNumber == CurrentFloor.FloorNumber); if (stopRequest.UpRequest) { stopRequest.UpRequest = false; Land(); } if (TargetFloor == CurrentFloor) { Land(); return; } Thread.Sleep(100); GoUp(); } }
private void StopRequestsChanged(StopRequests inRequests) { graphic.color = (inRequests & request) != 0 ? requestColor : noRequestColor; }