Example #1
0
        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();
            }
        }
Example #2
0
 private void StopRequestsChanged(StopRequests inRequests)
 {
     graphic.color = (inRequests & request) != 0 ? requestColor : noRequestColor;
 }