Beispiel #1
0
    private void Awake()
    {
        FloorButton.AddButtonPressedListener(ButtonHandler);

        _startPosition = transform.position;
        _endPosition   = _startPosition + _travelDirection * _maxDistance;
    }
    void Start()
    {
        managementButtonText = managementButton.GetComponentInChildren <Text>();

        buttonAnim = managementButton.GetComponent <Animator>();
        paneAnim   = managementPane.GetComponent <Animator>();

        GameObject newButton;

        for (int i = OfficeGenerator.instance.floorCount - 1; i >= 0; i--)
        {
            FloorButton newFloor = Instantiate(floorsButtonPrefab, floorsContent).GetComponent <FloorButton>();
            newFloor.floorNo = i;
            floorButtons.Add(newFloor);
        }
        for (int i = 0; i < Director.Instance.employeePoolCount; i++)
        {
            newButton = Instantiate(employeesButtonPrefab, employeesContent);
            newButton.SetActive(false);
            employeeButtons.Add(newButton.GetComponent <EmployeeButton>());
        }
        for (int i = 0; i < OfficeGenerator.instance.floorCount * OfficeGenerator.instance.workspaceCount; i++)
        {
            newButton = Instantiate(facilitiesButtonPrefab, facilitiesContent);
            newButton.SetActive(false);
            facilityButtons.Add(newButton.GetComponent <FacilityButton>());
        }
        for (int i = 0; i < Businesses.instance.ListOfBusinesses.Count; i++)
        {
            newButton = Instantiate(businessesButtonPrefab, businessesContent);
            newButton.SetActive(false);
            businessButtons.Add(newButton.GetComponent <BusinessButton>());
        }
    }
    private void Awake()
    {
        FloorButton.AddButtonPressedListener(ButtonPressedHandler);

        // do not need to bounding 'volume' of the renderer more so the direct size
        _moveStart = transform.position;
        _moveEnd   = _moveStart + (Vector3)_directionToMove.normalized * _distanceToTravel;
        _originalArrowDirection = transform.up;
        _collider = GetComponent <Collider2D>();
    }
Beispiel #4
0
    public void BuildElevator()
    {
        int floorsNumber = 2;

        if (floorsNumberInput.text != "")
        {
            floorsNumber = System.Convert.ToInt32(floorsNumberInput.text);
        }
        if (floorsNumber < 2)
        {
            floorsNumber = 2;
        }
        if (floorsNumber > 100)
        {
            floorsNumber = 100;
        }

        MaximumFloor = floorsNumber;
        CurrentFloor = 1;
        Interfloor   = 1f;
        currentState = new WaitOnFloor();

        GameObject floorButtonPrefab = (GameObject)Resources.Load("floorButton");
        GameObject floorPrefab       = (GameObject)Resources.Load("Floor");


        for (int i = 1; i <= floorsNumber; i++)
        {
            GameObject  floorButtonObj = Instantiate(floorButtonPrefab, elevatorPanelButtonsTransform);
            FloorButton floorButton    = floorButtonObj.GetComponent <FloorButton> ();
            floorButton.SetFloor(i);
            floorButton.IsActive = false;

            GameObject floorObj = Instantiate(floorPrefab, floorsTransform);
            Floor      floor    = floorObj.GetComponent <Floor> ();
            onFloorChanged += floor.SetCurrentElevatorFloorNumber;
            floor.SetFloor(floorsNumber + 1 - i);
            floor.SetCurrentElevatorFloorNumber(CurrentFloor);

            floors.Add(floor.FloorNumber, floor);
        }
        elevatorPanelUpdater.UpdateRect();
        floorsUpdater.UpdateRect();



        startPage.SetActive(false);
    }
Beispiel #5
0
        static void Main(string[] args)
        {
            // Create 3 elevators
            var el1 = new Elevator
            {
                Name         = "Elevator No 1",
                CurrentFloor = 1
            };
            var el2 = new Elevator
            {
                Name         = "Elevator No 2",
                CurrentFloor = 5
            };
            var el3 = new Elevator
            {
                Name         = "Elevator No 3",
                CurrentFloor = 10
            };

            // Create elevator buttons on some floors
            var fb1 = new FloorButton {
                FloorNo = 1, Direction = RequestDir.NOT_PRESSED
            };
            var fb2 = new FloorButton {
                FloorNo = 2, Direction = RequestDir.NOT_PRESSED
            };
            var fb7 = new FloorButton {
                FloorNo = 7, Direction = RequestDir.NOT_PRESSED
            };
            var fb9 = new FloorButton {
                FloorNo = 9, Direction = RequestDir.NOT_PRESSED
            };

            // People press some buttons to summon an elevator
            WhichElevator.
            fb1.Direction = RequestDir.UP;
            fb9.Direction = RequestDir.DOWN;
            fb2.Direction = RequestDir.DOWN;
            fb7.Direction = RequestDir.UP;


            Console.WriteLine($"{el1.Name} is on Floor Number {el1.CurrentFloor}");

            Console.ReadLine();
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            //Added LowerBasement, Basement, GroundFloor, 10 Floors
            IBuilding building = new Building(); //Instance of Building

            //Added Extra Floor to the building, Now total Floor is 11
            //---> building.AddFloor(FloorFactory.CreateFloor(FloorType.Floor));

            //When a person presses up / down button on the floo
            //we can initiate multiple request
            var requests = new ElevatorRequests();
            var button   = new FloorButton(requests, Direction.Down, 3);

            button.PlaceRequest();

            // button = new FloorButton(requests, Direction.Up, 9);
            //button.PlaceRequest();

            //Elevator controller which control all the elevators
            //we can add addition elevator as well
            ElevatorController controller = new ElevatorController(requests, building);

            controller.AttachElevator(new Elevator.Elevator("EL1", 7, ElevatorStatus.UP));                            //Attached 1 Elevator
            controller.AttachElevator(new Elevator.Elevator("EL2", 4, ElevatorStatus.DOOR_OPEN));                     //Attached 2 Elevator
            controller.AttachElevator(new Elevator.Elevator("EL3", (int)FloorType.LowerBasement, ElevatorStatus.UP)); // //Attached 3 Elevator
            //---> controller.AttachElevator(new Elevator.Elevator("EL4", (int)FloorType.GroundFloor, ElevatorStatus.UP)); // //Attached 4 Elevator

            while (true)
            {
                var request = controller.GetNextRequestToProcesses();
                if (request != null && !request.IsProcesed)
                {
                    Console.WriteLine("Processing Request Id :- {0}, Floor No. :- {1}", request.RequestId, (request.FloorNo - 2));
                    controller.Notify(request);
                    controller.StratElevator(request);

                    if (request.IsProcesed)
                    {
                        requests.RemoveReqest(request);
                        Console.WriteLine("Processing Completed ");
                    }
                }
            }
        }