Inheritance: MonoBehaviour
Esempio n. 1
0
        static void Main(string[] args)
        {
            #region elevator1Logic

                Elevator elevator1 = new Elevator(2,400);           // ** creates a new instance of Elevator called elevator1 **

                Passenger a1 = new Passenger("A1", 180);            // ** creates a new Passenger called a1 **
                elevator1.AddOccupant(a1, 0);                       // ** adds Passenger a1 to elevator1's occupants (index 0) **

                elevator1.AddOccupant(new Passenger("A2", 220), 1); // ** creates a new Passenger, sets the values & adds it to elevator1's occupants (index 1) **

                bool elevator1IsOverMaxCapacity = elevator1.IsOverMaxCapacity(); //** determines if the passenger weight of elevator1 is over its capacity **

            #endregion elevator1Logic

            #region elevator2Logic

                Elevator elevator2 = new Elevator(3, 600);          //  ** creates a new instance of Elevator called elevator2 **

                elevator2.AddOccupant(new Passenger("A1", 200), 0); //  ** creates a new Passenger, sets the values & adds it to elevator2's occupants (index 0) **
                elevator2.AddOccupant(new Passenger("A2", 200), 1); //  ** creates a new Passenger, sets the values & adds it to elevator2's occupants (index 1) **
                elevator2.AddOccupant(new Passenger("A3", 201), 2); //  ** creates a new Passenger, sets the values & adds it to elevator2's occupants (index 2) **

                bool elevator2IsOverMaxCapacity = elevator2.IsOverMaxCapacity(); //** determines if the passenger weight of elevator2 is over its capacity **

            #endregion elevator2Logic
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            bool elevator1IsOverMaxCapacity;
            bool elevator2IsOverMaxCapacity;

            Elevator elevator1 = new Elevator(2, 400);
            Passenger A1 = new Passenger("A1", 180);
            Passenger A2 = new Passenger("A2", 220);
            elevator1.AddOcupant(0, A1);
            elevator1.AddOcupant(1, A2);

            Elevator elevator2 = new Elevator(3, 600);
            A1 = new Passenger("A1", 200);
            A2 = new Passenger("A2", 200);
            Passenger A3 = new Passenger("A3",201);
            elevator2.AddOcupant(0, A1);
            elevator2.AddOcupant(1, A2);
            elevator2.AddOcupant(2, A3);

            elevator1.GetCurrentWeight();
            elevator2.GetCurrentWeight();
            elevator1IsOverMaxCapacity = elevator1.IsOverMaxCap();
            elevator2IsOverMaxCapacity = elevator2.IsOverMaxCap();

            System.Console.Read();
        }
    Text showCase; // show the information

    #endregion Fields

    #region Methods

    // Use this for initialization
    void Start()
    {
        // find the text UI in chindren
        showCase = gameObject.GetComponentInChildren<Text>();

        // find the elevator in parent
        elevator = gameObject.GetComponentInParent<Elevator>();
    }
Esempio n. 4
0
    void Main(string argument)
    {
        if (elev == null) elev = new Elevator(GridTerminalSystem, Me, Echo, ElapsedTime);

        if (argument.Length > 0)
        {

        }
        elev.mainLoop();
    }
Esempio n. 5
0
    public void Init(ElevatorState state, Elevator elevator)
    {
        SetState(state);

        owner = elevator;

        floorCoordinates = new Transform[] {
            elevator.ElevatorButtons[0].transform,
            elevator.ElevatorButtons[1].transform,
            elevator.ElevatorButtons[2].transform,
        };
    }
	void Awake ()
	{
		elevatorGO = transform.parent.gameObject;
		elevator = elevatorGO.GetComponent<Elevator> ();

		spriteRenderer = GetComponent<SpriteRenderer> ();

		initialPosition = elevatorGO.transform.position;

		targetPosition = new Vector3 (initialPosition.x + offsetX, initialPosition.y + offsetY + additionalVerticalOffset, initialPosition.z);

		duration = Vector3.Distance (initialPosition, targetPosition) / (speed * speedFactor);
	}
Esempio n. 7
0
        static void Main(string[] args)
        {
            Elevator elevator1 = new Elevator(2, 400);
            elevator1.AddOccupant(new Passenger("A1", 180), 0);
            elevator1.AddOccupant(new Passenger("A2", 220), 1);

            bool elevator1IsOverMaxCapacity = elevator1.IsOverMaxCapacity();

            /////////////////////////////////////////////////////////////////////////////

            Elevator elevator2 = new Elevator(3, 600);
            elevator2.AddOccupant(new Passenger("A1", 200), 0);
            elevator2.AddOccupant(new Passenger("A2", 200), 1);
            elevator2.AddOccupant(new Passenger("A3", 201), 2);

            bool elevator2IsOverMaxCapacity = elevator2.IsOverMaxCapacity();
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            // ELEVATOR #1
            Elevator elevator1 = new Elevator(2, 400);
            Passenger A1 = new Passenger("A1", 180);
            elevator1.AddOccupant(A1, 0);
            //System.Console.WriteLine("1Elevator 1 weight: " + elevator1.GetCurrentWeight());

            Passenger A2 = new Passenger("A2", 220);
            elevator1.AddOccupant(A2, 1);
            //System.Console.WriteLine("2Elevator 1 weight: " + elevator1.GetCurrentWeight());

            bool elevator1IsOverMaxCapacity = elevator1.IsOverMaxCapacity();
            //System.Console.WriteLine("Elevator 1 is Overweight: " + elevator1IsOverMaxCapacity);
            //System.Console.WriteLine("Elevator 1 weight: " + elevator1.GetCurrentWeight());


            // ELEVATOR #2
            Elevator elevator2 = new Elevator(3, 600);
            Passenger A3 = new Passenger("A1", 200);
            elevator2.AddOccupant(A3, 0);
            //System.Console.WriteLine("1Elevator 2 weight: " + elevator2.GetCurrentWeight());
            Passenger A4 = new Passenger("A2", 200);
            elevator2.AddOccupant(A4, 1);
            //System.Console.WriteLine("2Elevator 2 weight: " + elevator2.GetCurrentWeight());
            Passenger A5 = new Passenger("A3", 201);
            elevator2.AddOccupant(A5, 2);
            //System.Console.WriteLine("3Elevator 2 weight: " + elevator2.GetCurrentWeight());
            bool elevator2IsOverMaxCapacity = elevator2.IsOverMaxCapacity();

            System.Console.WriteLine("Elevator 1 is Overweight: " + elevator1IsOverMaxCapacity);
            System.Console.WriteLine("Elevator 2 is Overweight: " + elevator2IsOverMaxCapacity);
            System.Console.WriteLine("Elevator 1 weight: " + elevator1.GetCurrentWeight());
            System.Console.WriteLine("Elevator 2 weight: " + elevator2.GetCurrentWeight());

            System.Console.Read();




        }
Esempio n. 9
0
        public void Elevator_MoveUpAndDownTests()
        {
            Type     type     = typeof(Elevator);
            Elevator elevator = (Elevator)Activator.CreateInstance(type, 3);

            type.GetMethod("GoUp").Invoke(elevator, new object[] { 2 });
            Assert.AreEqual(2, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should go up to the floor that it was directed to.");

            type.GetMethod("OpenDoor").Invoke(elevator, null);
            type.GetMethod("GoUp").Invoke(elevator, new object[] { 3 });
            Assert.AreEqual(2, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should remain on its current floor if the door is open.");
            type.GetMethod("CloseDoor").Invoke(elevator, null);

            type.GetMethod("GoUp").Invoke(elevator, new object[] { 3 });
            Assert.AreEqual(3, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should go up to the floor that it was directed to.");

            type.GetMethod("GoUp").Invoke(elevator, new object[] { 4 });
            Assert.AreEqual(3, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should not go past its last floor.");

            type.GetMethod("GoUp").Invoke(elevator, new object[] { 1 });
            Assert.AreEqual(3, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should only go up if the desired floor is greater than the current floor.");

            type.GetMethod("GoDown").Invoke(elevator, new object[] { 2 });
            Assert.AreEqual(2, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should go down to the floor that it was directed to.");

            type.GetMethod("OpenDoor").Invoke(elevator, null);
            type.GetMethod("GoDown").Invoke(elevator, new object[] { 1 });
            Assert.AreEqual(2, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should remain on its current floor if the door is open.");
            type.GetMethod("CloseDoor").Invoke(elevator, null);

            type.GetMethod("GoDown").Invoke(elevator, new object[] { 1 });
            Assert.AreEqual(1, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should go down to the floor that it was directed to.");

            type.GetMethod("GoDown").Invoke(elevator, new object[] { -1 });
            Assert.AreEqual(1, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should not go below floor 1.");

            type.GetMethod("GoDown").Invoke(elevator, new object[] { 3 });
            Assert.AreEqual(1, type.GetProperty("CurrentLevel").GetValue(elevator), "The elevator should only go down if the desired floor is less than the current floor.");
        }
Esempio n. 10
0
        public void GivenOneFloorAndOneElevator_WhenElevatorIsInFirstFloorAndUpFollowedByFirstFloorIsPressedFromGroundFloor_ThenElevatorIsMovedFromFirstToGroundAndThenToFirstFloor()
        {
            //Arrange
            Building building = new Building(minFloor: 0, maxfloor: 1, numberOfElevators: 1);
            //Move elevator to First floor
            Elevator elevatorReachedFirstFloor = building.AddRequest(floorNumber: 0, requestDirection: FloorRequestDirection.UP, destinationFloor: 1);

            //Act
            Elevator elevatorServedRequest = building.AddRequest(floorNumber: 0, requestDirection: FloorRequestDirection.UP, destinationFloor: 1);

            var actions = elevatorServedRequest.GetActions();

            //Assert
            Assert.True(actions.Count() == 7);
            Assert.Equal(new ElevatorAction(doorsOpenedFloor: 0), actions[0]);
            Assert.Equal(new ElevatorAction(fromFloor: 0, toFloor: 1), actions[1]);
            Assert.Equal(new ElevatorAction(doorsOpenedFloor: 1), actions[2]);
            Assert.Equal(new ElevatorAction(fromFloor: 1, toFloor: 0), actions[3]);
            Assert.Equal(new ElevatorAction(doorsOpenedFloor: 0), actions[4]);
            Assert.Equal(new ElevatorAction(fromFloor: 0, toFloor: 1), actions[5]);
            Assert.Equal(new ElevatorAction(doorsOpenedFloor: 1), actions[6]);
        }
Esempio n. 11
0
            private Elevator challengedistance(Elevator[] elevator, int floornumber)
            {
                int      poselevator1;
                int      poselevator2;
                Elevator elevatorchenge = new Elevator();
                int      bestpos;
                Elevator bestposelevator = new Elevator();

                bestposelevator.number = -1;
                for (int i = 0; i < elevator.Length - 1; i++)
                {
                    poselevator1 = floornumber - elevator[i].floor;
                    poselevator2 = floornumber - elevator[i + 1].floor;

                    if (poselevator1 < 0)
                    {
                        poselevator1 = poselevator1 * (-1);
                    }
                    if (poselevator2 < 0)
                    {
                        poselevator2 = poselevator2 * (-1);
                    }
                    bestpos = poselevator2 - poselevator1;

                    if (bestpos > 0)
                    {
                        bestposelevator = elevator[i];
                        elevatorchenge  = elevator[i + 1];
                        elevator[i + 1] = elevator[i];
                        elevator[i]     = elevatorchenge;
                    }
                    else
                    {
                        bestposelevator = elevator[i + 1];
                    }
                }

                return(bestposelevator);
            }
    // Start is called before the first frame update
    void Start()
    {
        myCapsuleCollider = GetComponent <CapsuleCollider2D>();
        myRigidbody       = GetComponent <Rigidbody2D>();

        if (forGate)
        {
            gateScript = gate.GetComponent <Gate>();
        }
        if (forBridge)
        {
            bridgeScript = bridge.GetComponent <Bridge>();
        }
        if (forElevator)
        {
            elevatorScript = elevator.GetComponent <Elevator>();
        }
        if (forWaterfall)
        {
            waterfallScript = waterfall.GetComponent <Waterfall>();
        }
    }
Esempio n. 13
0
    public override void UpdateState(Elevator elevator)
    {
        Transform elevatorPosition = elevator.gameObject.transform;
        Transform floorPosition = stateMachine.floorCoordinates[stateMachine.targetFloor].transform;

        float step = movementSpeed * Time.deltaTime;
        elevatorPosition.position = Vector2.MoveTowards(
            elevatorPosition.position,
            new Vector2(elevatorPosition.position.x, floorPosition.position.y),
            step);

        if (Vector2.Distance(new Vector2(0, elevatorPosition.position.y), new Vector2(0, floorPosition.position.y)) < 0.01)
        {
            StateOpeningDoors state;

            state = ScriptableObject.CreateInstance("StateOpeningDoors") as StateOpeningDoors;

            stateMachine.SetState(state);

            isDone = true;
        }
    }
Esempio n. 14
0
    public void SetNewDestination(Vector3 destination)
    {
        var player = TankCharacterController.Instance;
        var pPos   = Vector3.zero;

        if (player != null)
        {
            pPos = TankCharacterController.Instance.transform.position - transform.position;
        }

        transform.position = destination - new Vector3(0f, 10f, 0f);
        m_GoingUp          = false;

        if (TankCharacterController.Instance != null)
        {
            TankCharacterController.Instance.transform.position = transform.position + pPos;
        }

        m_TargetPosition = destination;

        LastEnterElevator = this;
    }
Esempio n. 15
0
        private void Open_Door_On_Specified_Floors(
            int elevatorInitialFloor,
            int[][] elevatorRequestsArrays,
            int[] expectedStops)
        {
            List <ElevatorRequest> elevatorRequests = new List <ElevatorRequest>();

            foreach (int[] elevatorRequest in elevatorRequestsArrays)
            {
                elevatorRequests.Add(new ElevatorRequest
                {
                    FloorStart = elevatorRequest[0],
                    FloorEnd   = elevatorRequest[1]
                });
            }

            Elevator elevator = new Elevator(elevatorInitialFloor);

            elevator.Operate(elevatorRequests);

            Assert.AreEqual(expectedStops, elevator.GetElevatorStops());
        }
Esempio n. 16
0
        static void Main(string[] args)
        {
            Elevator elevator = new Elevator(new Random());
            var      agents   =
                Enumerable.Range(1, 5)
                .Select(i => new Agent(elevator))
                .ToList();



            foreach (var agent in agents)
            {
                agent.MoveAround();
            }

            while (agents.Any(s => !s.HasLeft))
            {
                elevator.ElevatorWork();
            }

            Console.WriteLine("End of the program.");
        }
Esempio n. 17
0
        static void Main(string[] args)
        {
            bool elevator1IsOverMaxCapacity;
            bool elevator2IsOverMaxCapacity;

            Elevator elevator1 = new Elevator(2, 400);
            Passenger A1 = new Passenger("A1", 180);
            elevator1.AddOccupant(A1, 0);
            Passenger A2 = new Passenger("A2", 220);
            elevator1.AddOccupant(A2, 1);

            Elevator elevator2 = new Elevator(3, 600);
            A1 = new Passenger("A1", 200);
            elevator2.AddOccupant(A1, 0);
            A2 = new Passenger("A2", 200);
            elevator2.AddOccupant(A2, 1);
            Passenger A3 = new Passenger("A3", 201);
            elevator2.AddOccupant(A3, 2);

            elevator1IsOverMaxCapacity = elevator1.IsOverMaxCapacity();
            elevator2IsOverMaxCapacity = elevator2.IsOverMaxCapacity();
        }
            // ======================================== //

            // ========= Column Constructor ========== //
            public Column(int id, int numberOfelevator, int minOperatingFloor, int maxOperatingFloor)
            {
                this.id = id;
                this.numberOfelevator  = numberOfelevator;
                this.minOperatingFloor = minOperatingFloor;
                this.maxOperatingFloor = maxOperatingFloor;
                this.elevatorsList     = new List <Elevator>();

                // == Generating elevators in elevatorsList == //
                for (int i = 1; i <= numberOfelevator; i++)
                {
                    Elevator elevator = new Elevator(
                        id: i,
                        value: 0,
                        currentFloor: 0,
                        totalScore: 0,
                        direction: "idle",
                        doorStatus: "closed"
                        );
                    elevatorsList.Add(elevator);
                }
            }
Esempio n. 19
0
        public void Call_4elevators_4returned()
        {
            //arrange
            Elevator elev1    = new Elevator(12, Status.Down, 1);
            Elevator elev2    = new Elevator(5, Status.Up, 6);
            Elevator elev3    = new Elevator(1, Status.Up, 10);
            Elevator elev4    = new Elevator(8, Status.Down, 1);
            Elevator expected = elev3;

            //act
            Building building = new Building();

            building.AddElevator(elev1);
            building.AddElevator(elev2);
            building.AddElevator(elev3);
            building.AddElevator(elev4);
            var actual = building.Call(new Person {
                Location = 7, Direction = Status.Up
            });

            Assert.AreEqual(expected, actual);
        }
Esempio n. 20
0
        public MovementBuoy(Buoy buoy)
        {
            _buoy     = buoy;
            _elevator = Actionneur.FindElevator(_buoy.Color);

            double delta = _elevator == Actionneur.ElevatorLeft ? 30 : -30;

            //for (int i = 0; i < 360; i += 60)
            //{
            //    Positions.Add(new Geometry.Position(i + delta + 180, new Geometry.Shapes.RealPoint(_buoy.Position.X + 200* new AnglePosition(delta + i).Cos, _buoy.Position.Y + 200 * new AnglePosition(delta + i).Sin)));
            //}

            for (int i = 0; i < 360; i += 60)
            {
                Positions.Add(new Geometry.Position(i + 180 + delta, new Geometry.Shapes.RealPoint(_buoy.Position.X + 250 * new AnglePosition(i).Cos, _buoy.Position.Y + 250 * new AnglePosition(i).Sin)));
            }

            //AnglePosition a = 0;
            //Positions.Add(new Geometry.Position(a + 180 + delta, new Geometry.Shapes.RealPoint(_buoy.Position.X + 250 * new AnglePosition(a).Cos, _buoy.Position.Y + 250 * new AnglePosition(a).Sin)));
            //a = 180;
            //Positions.Add(new Geometry.Position(a + 180 + delta, new Geometry.Shapes.RealPoint(_buoy.Position.X + 250 * new AnglePosition(a).Cos, _buoy.Position.Y + 250 * new AnglePosition(a).Sin)));
        }
Esempio n. 21
0
        private PowerCounter[] GetAllConnectedCounters(Elevator topElevator)
        {
            var counters        = new List <PowerCounter>();
            var currentElevator = topElevator;

            do
            {
                PowerCounter counter1, counter2;
                GetConnectedCounters(currentElevator, out counter1, out counter2);
                if (counter1 != null)
                {
                    counters.Add(counter1);
                }

                if (counter2 != null)
                {
                    counters.Add(counter2);
                }
            }while ((currentElevator = currentElevator.GetElevatorInDirection(Elevator.Direction.Down)) != null);

            return(counters.Count > 0 ? counters.ToArray() : null);
        }
Esempio n. 22
0
        /// <summary>
        /// Deze functie wordt elke seconden aangeroepen om gasten en medewerkes te laten lopen.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        private void UpdateHotel(Object source, ElapsedEventArgs e)
        {
            //for loop voor het update van de lift
            for (int i = 0; i < Roomlist.Count; i++)
            {
                //als de kamer gelijk is aan Elevator
                if (Roomlist[i].AreaType == "Elevator")
                {
                    //maak een tijdelijke lift update de lift en voeg hem weer toe
                    Elevator tempElevator = (Elevator)Roomlist[i];
                    tempElevator.updateElevator();
                    Roomlist[i] = tempElevator;
                }
            }

            //update de gasten
            foreach (Guest guest in GuestList.ToList())
            {
                guest.Move();
            }


            //update de schoonmakers en kijk of er een kamer moet worden schoon gemaakt
            foreach (Maid maid in Employees)
            {
                maid.Move();

                if (!maid.working && _dirtyroom.Count > 0)
                {
                    maid.working = true;
                    maid.CleanRoom(_dirtyroom.Dequeue());
                }
                else if (_dirtyroom.Count == 0 && !maid.working && maid.CurrentPosition.AreaType != "Reception")
                {
                    maid.ReturnToBase();
                }
            }
        }
Esempio n. 23
0
        public async Task MoveDownAsyncShouldAbortIfCanceled()
        {
            var cts     = new CancellationTokenSource();
            var request = new ElevatorRequest {
                FromFloor = 5, ToFloor = 0
            };
            var elevator = new Elevator
            {
                CurrentFloor = 5,
                Name         = nameof(MoveDownAsyncShouldMoveElevatorDownwards)
            };
            var elevatorMover = new ElevatorMover(
                elevator,
                _movementLogger.Object,
                new WaiterService()
                );

            cts.Cancel();

            await Assert.ThrowsAsync <TaskCanceledException>(() =>
                                                             elevatorMover.MoveDownAsync(request, cts.Token)
                                                             );
        }
        public void CheckMaxWeightAllowedReached_100MaxWeightWithSeveralEmployees_ReturnTrue()
        {
            // Arrange
            var myElevator = new Elevator(100);
            // employee 1
            var Director = new Employee();

            Director.Weight      = 75;
            Director.IsExecutive = true;
            // employee 2
            var Producer = new Employee();

            Producer.Weight = 85;

            // Act
            //adding employees to the elevator
            myElevator.InUser(Director);
            myElevator.InUser(Producer);
            var result = myElevator.CheckMaxWeightAllowedReached();

            // Assert
            Assert.IsTrue(result);
        }
Esempio n. 25
0
    private void OnTriggerStay(Collider other)
    {
        if (other.CompareTag("Player") && other.GetComponent <Player>().Getcoins() == _coinsRequired)
        {
            if (Input.GetKeyDown(KeyCode.E))
            {
                _mat = GameObject.Find("Call_Button").GetComponent <MeshRenderer>();

                if (_elevatorCalled == true)
                {
                    _mat.material.color = Color.red;
                }
                else
                {
                    _mat.material.color = Color.green;
                    _elevatorCalled     = true;
                }

                Elevator elevator = GameObject.Find("Elevator").GetComponent <Elevator>();
                elevator.CallElevator();
            }
        }
    }
Esempio n. 26
0
        /*
         * Реальный пример
         * Нам надо управлять лифтом, который может перемещаться между подвалом, первым и верхними этажами
         * (местоположение лифтовой кабины относительно земли будет как раз являться Состоянием, которое мы отразим в коде).
         */
        static void Main(string[] args)
        {
            // определяется интерфейс состония лифта: IElevatorState.cs

            // Теперь реализуем различные состояния нашего объекта Лифт: LowerElevatorState.cs, GroundElevatorState.cs, UpperElevatorState.cs

            // Теперь реализация самого объекта Лифт: Elevator.cs

            // Клиентский код:
            // инициализируем лифт (находится на земле)
            Elevator elevator = new Elevator(new GroundElevatorState());

            elevator.Up();             // подъем наверх
            elevator.Down();           // спуск на землю
            elevator.Down();           // спуск в подвал
            elevator.Down();           // ниже некуда

            /*
             * Мы вынесли поведение, зависящее от текущего состояния объекта, в отдельные классы (соответствующие нужному состоянию).
             * Если бы мы этого не делали, наши основные методы были бы перегружены условиями, if-else и так далее.
             * В систему можно легко вводить новые состояния при необходимости, также как и использовать уже имеющиеся в других объектах.
             */
        }
Esempio n. 27
0
        public void GivenThreeElevatorsDifferentQueues_GetBestElevator_ShouldReturnTheCorrectIndexIndex()
        {
            var elevator1Queue = new Queue <int>();

            elevator1Queue.Enqueue(0); elevator1Queue.Enqueue(2); elevator1Queue.Enqueue(12);
            var elevator2Queue = new Queue <int>();

            elevator2Queue.Enqueue(10); elevator2Queue.Enqueue(0); elevator2Queue.Enqueue(5);
            var elevator3Queue = new Queue <int>();

            elevator3Queue.Enqueue(12); elevator3Queue.Enqueue(14);
            var elevators = new Elevator[] { new Elevator {
                                                 Position = 10, Stops = elevator1Queue
                                             }, new Elevator {
                                                 Position = 5, Stops = elevator2Queue
                                             }, new Elevator {
                                                 Position = 11, Stops = elevator3Queue
                                             } };

            var elevatorIndex = GetBestElevator(elevators, 10, 12);

            Assert.IsTrue(elevatorIndex == 2);
        }
Esempio n. 28
0
 public Entity.Elevator Get(Guid id)
 {
     try
     {
         Entity.Elevator elevator = new Elevator();
         elevator = _deviceRepository.FindBy(r => r.Guid == id).Select(p => Mapper.Configuration.Mapper.Map <Entity.Elevator>(p)).FirstOrDefault();
         var wing     = _entityRepository.FindBy(r => r.Guid == elevator.EntityGuid).FirstOrDefault();
         var building = _entityRepository.FindBy(r => r.Guid == wing.ParentEntityGuid).FirstOrDefault();
         elevator.Wing     = wing.Name;
         elevator.Building = building.Name;
         var template = _lookupService.GetTemplate(false).FirstOrDefault();
         if (template != null)
         {
             elevator.TemplateGuid = new Guid(template.Value);
         }
         return(elevator);
     }
     catch (Exception ex)
     {
         _logger.ErrorLog(ex, "DeviceManager.Get " + ex);
         return(null);
     }
 }
Esempio n. 29
0
    // Update is called once per frame
    void Update()
    {
        if (Input.touchCount > 0)
        {
            //Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
            RaycastHit2D hit;
            Touch        myTouch = Input.touches[0];

            if (myTouch.phase == TouchPhase.Began)
            {
                hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
                string parent = hit.transform.parent.name;
                if (hit.transform.gameObject.name == "ArrowDown")
                {
                    Elevator.MoveDown(parent);
                }
                else if (hit.transform.gameObject.name == "ArrowUp")
                {
                    Elevator.MoveUp(parent);
                }
            }
        }
    }
    public void ActionBasedOnItem()
    {
        LeverMachine leverMachine = GetComponentInChildren <LeverMachine>();

        if (leverMachine != null)
        {
            leverMachine.ActivateLever();
        }
        else
        {
            Elevator elevator = GetComponentInChildren <Elevator>();
            if (elevator != null)
            {
                elevator.enabled = !elevator.enabled;
            }

            Bridge bridge = GetComponentInChildren <Bridge>();
            if (bridge != null)
            {
                bridge.Toggle();
            }


            Circular[] circulars = GetComponentsInChildren <Circular>();
            foreach (Circular c in circulars)
            {
                c.enabled = !c.enabled;
            }
        }

        GravityFieldToggler gravityField = GetComponentInChildren <GravityFieldToggler>();

        if (gravityField != null)
        {
            gravityField.Toggle();
        }
    }
Esempio n. 31
0
    public string GetOrder(int position, string direction)
    {
        int positionToReach = ExitPosition;

        if (positionToReach == -1)
        {
            Elevator finalElevator = null;
            if (Elevators.Count == 1)
            {
                finalElevator = Elevators.FirstOrDefault();
            }
            else
            {
                int minDistance = int.MaxValue;
                foreach (Elevator elevator in Elevators)
                {
                    int currentDistance = elevator.Position > position ? elevator.Position - position : position - elevator.Position;
                    if (currentDistance < minDistance)
                    {
                        finalElevator = elevator;
                        minDistance   = currentDistance;
                    }
                }
            }

            positionToReach = finalElevator.Position;
        }

        if ((positionToReach < position && direction == Direction.RIGHT) || (positionToReach > position && direction == Direction.LEFT))
        {
            return("BLOCK");
        }
        else
        {
            return("WAIT");
        }
    }
Esempio n. 32
0
        private void OnElevatorMove(Elevator topElevator, int targetFloor)
        {
            var lift = topElevator.liftEntity;

            if (lift == null)
            {
                return;
            }

            var liftFloor = topElevator.LiftPositionToFloor();

            if (targetFloor == liftFloor)
            {
                return;
            }

            // Using NextTick to wait for the movement to begin so we can get the travel time
            NextTick(() =>
            {
                if (topElevator == null || lift == null)
                {
                    return;
                }

                var travelTime = GetTravelTime(lift);
                if (travelTime == 0)
                {
                    return;
                }

                var counters = GetAllConnectedCounters(topElevator);
                if (counters != null)
                {
                    StartUpdatingLiftCounters(lift, counters, travelTime);
                }
            });
        }
            // === This is used to request RC from another floor === //
            public void requestElevator(int floorNumber)
            {
                // Setting user position and direction //
                userFloor = floorNumber;
                if (userFloor >= 1)
                {
                    userDirection = "down";
                }
                else if (userFloor < -1)
                {
                    userDirection = "up";
                }

                // User wants to go to RC, so requestedFloor = 0 //
                requestedFloor = 0;

                // Console Writing to make the program clearer //
                Console.WriteLine("");
                Console.WriteLine("======== Request ground floor ==========");
                Console.WriteLine("A request has been made at floor " + userFloor + ". User is going " + userDirection);
                Console.WriteLine("");
                Console.WriteLine("======== Returning a column ============");

                // Nesting findColumn, findElevator and 2 moveElevator //
                //        (first to the user, then destination)        //
                selectedColumn   = findColumn(floorNumber);
                selectedElevator = selectedColumn.findElevator(selectedColumn, floorNumber, userDirection);
                Console.WriteLine("=========== Moving to User ============");
                selectedElevator.moveElevator(floorNumber);
                Console.WriteLine("User is entering the elevator.");
                Console.WriteLine("");
                Console.WriteLine("========== Returning to RC ============");
                selectedElevator.moveElevator(requestedFloor);
                Console.WriteLine("User has arrived at his destination.");
                Console.WriteLine("");
            }
Esempio n. 34
0
 public ActionResult <ApiResponse <IEnumerable <Elevator> > > IntiateElevator(int count, int floors)
 {
     try
     {
         Logger.Info($"Elevators initiation requested - {count} with floors  - {floors}");
         int i = 0;
         while (i < count)
         {
             var item = new Elevator
             {
                 Guid         = Guid.NewGuid(),
                 CurrentState = State.Idle,
                 CurrentFloor = 0,
                 MaxFloor     = floors
             };
             _elevators.Add(item);
             i += 1;
         }
         Logger.Info($"Elevators initiated - {count} with floors  - {floors}");
         var apiResponse = new ApiResponse <IEnumerable <Elevator> >()
         {
             ResponseCode   = ResponseCodeType.Success,
             ResponseObject = _elevators
         };
         return(Ok(apiResponse));
     }
     catch (Exception ex)
     {
         Logger.Error($"initiate elevator failed - {ex.Message}");
         return(Ok(new ApiResponse <IEnumerable <Elevator> >()
         {
             ResponseCode = ResponseCodeType.Error,
             Message = Resources.Resources.ErrorMessage,
         }));
     }
 }
Esempio n. 35
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            bool key = false;

            using (var Db = new Elevator())
            {
                foreach (var enter in Db.Users.ToList())
                {
                    if (enter.Login == TB_Login.Text && enter.Password == PB_Password.Password)
                    {
                        if (enter.Status == "Admin")
                        {
                            new MainWindow().Show();
                            this.Close();
                        }
                        key = true;
                    }
                }
                if (key == false)
                {
                    MessageBox.Show("Неверный логин или пароль");
                }
            }
        }
Esempio n. 36
0
    /// <summary>
    /// Saves all current stats from a station
    /// </summary>
    /// <param name="stationToSave"></param>
    private void SaveStats(Station stationToSave)
    {
        mCurrentStats = new Stats
        {
            CurrentWorkerSpeed       = stationToSave.WorkerList[0].TimeForCompletion,
            CurrentUpgradeMultiplier = stationToSave.CostToUpgradeMultiplier
        };

        if (stationToSave is Mine)
        {
            Mine mine = (Mine)stationToSave;
            mCurrentStats.CurrentEfficiency = mine.GoldPerMiner;
        }
        else if (stationToSave is Elevator)
        {
            Elevator elevator = (Elevator)stationToSave;
            mCurrentStats.CurrentEfficiency = elevator.Limit;
        }
        else if (stationToSave is Transport)
        {
            Transport transport = (Transport)stationToSave;
            mCurrentStats.CurrentEfficiency = transport.Limit;
        }
    }
Esempio n. 37
0
    void FindMyElevator()
    {
        elevators     = Object.FindObjectsOfType(typeof(Elevator)) as Elevator[];
        elevatorTotal = elevators.Length;

        if (elevators.Length != 0)
        {
            //Choose the manager which is a parent of the button
            for (int i = 0; i < elevatorTotal; i++)
            {
                Elevator aElevator = (Elevator)elevators[i];
                //Debug.Log ("Testing..." + aElevator);
                if (aElevator.transform.IsChildOf(myManager.transform))
                {
                    myElevator = aElevator;
                }
            }
        }
        else
        {
            //Warn the user there are no managers in the scene
            Debug.Log("There are no Elevator scripts assigned in this scene. Elevator buttons will not work without these scripts. Please see the manual for assistance");
        }
    }
        //bu method kioskun bulunduğu noktadan hedefe olan uzaklığını x ve y koordinatı olarak hesaplar her iki kattaki koordinatları tuple tipi ile verir
        public Tuple <Point, Point> FindShortestPath(Node target)
        {
            Point firstPath;
            Point secondPath;
            var   floorPath = target.Floor - Floor;

            if (floorPath != 0)
            {
                var stairs           = new Stairs();
                var stairsFirstPath  = Math.Abs(stairs.Column - Column) + Math.Abs(stairs.Row - Row);               //ilk kattaki yolun uzunluğu (merdivenli yol)
                var stairsSecondPath = Math.Abs(target.Column - stairs.Column) + Math.Abs(target.Row - stairs.Row); //ikinci kattaki yolun uzunluğu (merdivenli yol)
                var stairsTotalPath  = stairsFirstPath + stairsSecondPath;                                          //merdivenli yolun toplam uzuluğu

                var elevator           = new Elevator();
                var elevatorFirstPath  = Math.Abs(elevator.Column - Column) + Math.Abs(elevator.Row - Row);               //ilk kattaki yolun uzunluğu (asansörlü yol)
                var elevatorSecondPath = Math.Abs(target.Column - elevator.Column) + Math.Abs(target.Row - elevator.Row); //ikinci kattaki yolun uzunluğu (asansörlü yol)
                var elevatorTotalPath  = elevatorFirstPath + elevatorSecondPath;                                          //asansörlü yolun toplam uzuluğu
                if (elevatorTotalPath <= stairsTotalPath)                                                                 //yol eşitsede asansörü kullansın yorulmasın =)
                {
                    firstPath  = new Point(elevator.Column - Column, elevator.Row - Row);
                    secondPath = new Point(target.Column - elevator.Column, target.Row - elevator.Row);
                }
                else
                {
                    firstPath  = new Point(stairs.Column - Column, stairs.Row - Row);
                    secondPath = new Point(target.Column - stairs.Column, target.Row - stairs.Row);
                }
                return(new Tuple <Point, Point>(firstPath, secondPath));
            }
            else
            {
                firstPath  = new Point(target.Column - Column, target.Row - Row);
                secondPath = new Point();
                return(new Tuple <Point, Point>(firstPath, secondPath));
            }
        }
Esempio n. 39
0
    /// <summary>
    /// Sets a station back to its old stats
    /// </summary>
    /// <param name="stationToSetBack"></param>
    public void SetBack(Station stationToSetBack)
    {
        foreach (Worker worker in stationToSetBack.WorkerList)
        {
            worker.TimeForCompletion = mCurrentStats.CurrentWorkerSpeed;
        }
        stationToSetBack.CostToUpgradeMultiplier = mCurrentStats.CurrentUpgradeMultiplier;

        if (stationToSetBack is Mine)
        {
            Mine mine = (Mine)stationToSetBack;
            mine.GoldPerMiner = mCurrentStats.CurrentEfficiency;
        }
        else if (stationToSetBack is Elevator)
        {
            Elevator elevator = (Elevator)stationToSetBack;
            elevator.Limit = mCurrentStats.CurrentEfficiency;
        }
        else if (stationToSetBack is Transport)
        {
            Transport transport = (Transport)stationToSetBack;
            transport.Limit = mCurrentStats.CurrentEfficiency;
        }
    }
Esempio n. 40
0
        static void Main()
        {
            List <Elevator> elevators = LoadElevatorsFromFile();

            while (true)
            {
                DisplayHeader();
                DisplayStatus(elevators);
                Elevator             elevator  = AskWhichElevatorToMove(elevators);
                Direction            direction = AskForDirection();
                ElevatorMoveResponse response;

                if (direction == Direction.Up)
                {
                    response = elevator.TryGoUp();
                }
                else
                {
                    response = elevator.TryGoDown();
                }

                DisplayResponse(response, elevator, direction);
            }
        }
Esempio n. 41
0
 // Use this for initialization
 void Start()
 {
     attachedElevator = transform.root.GetComponent<Elevator>();
 }
Esempio n. 42
0
 public override void UpdateState(Elevator gameObject)
 {
 }
Esempio n. 43
0
 void SpawnElevator()
 {
     if (elevator != null) return;
     GameObject go = template.Spawn(new OnSpawnElevatorEvent(template, 0));
     elevator = go.GetComponent<Elevator>();
 }
Esempio n. 44
0
 void Awake()
 {
     elevator = GameObject.FindObjectOfType<Elevator>();
 }
Esempio n. 45
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent<CharacterController>();
     audios = GetComponents<AudioSource>();
     coinPickup = audios[0];
     playerHurt = audios[1];
     playerJump = audios[2];
     playerDeath = audios[3];
     healthText = GameObject.Find("HealthDisplay").GetComponent<Text>();
     healthText.text = "Health : " + health;
     scoreText = GameObject.Find("ScoreDisplay").GetComponent<Text>();
     scoreText.text = "Score : " + score + " / 14";
     timerText = GameObject.Find("TimerDisplay").GetComponent<Text>();
     startTime = Time.time;
     deathScreen = GameObject.Find("DeathScreen");
     deathScreen.SetActive(false);
     pauseScreen = GameObject.Find("PauseScreen");
     pauseScreen.SetActive(false);
     victoryScreen = GameObject.Find("VictoryScreen");
     victoryScreen.SetActive(false);
     alarm = GameObject.FindWithTag("Alarm");
     elevator = GameObject.FindWithTag("Elevator").GetComponent<Elevator>();
 }
Esempio n. 46
0
 public void Setup()
 {
     _elevator = new Elevator();
     _building = new Building(_elevator);
 }
    // Use this for initialization
    void Start()
    {
        // initial sensor area
        sensorArea = new List<Elevator_Object>();

        // find elevator in parent
        if (!elevator)
        {
            elevator = gameObject.GetComponentInParent<Elevator>();
        }

        // get the next level
        Next();
    }
 void Start()
 {
     elevator = elevator.GetComponent<Elevator>();
 }
        private static List<IGameObject> CreateNewGameObjects(List<string[]> objectList, Game1 game)
        {
            List<IGameObject> gameObjects = new List<IGameObject>();
            Vector2 location = new Vector2(0,0);
            
            objectList.RemoveAt(0);

            foreach(string[] line in objectList)
            {
                foreach(string objectName in line)
                {
                    IGameObject gameObject = null;
                    IGameObject objectsItem = null;

                    if (objectName.Equals("Mario"))
                        gameObject = new MarioInstance(game);
                    if (objectName.Equals("InvisiMario"))
                        gameObject = new InvisiMario(game);
                    if (objectName.Equals("PacMario"))
                        gameObject = new PacMario(game);
                    else if (objectName.Equals("Coin"))
                        gameObject = new Coin(false, game);
                    else if (objectName.Equals("PacNormCoin"))
                        gameObject = new PacMarioNormalCoin(false, game);
                    else if (objectName.Equals("PacMarioCoin"))
                        gameObject = new PacMarioCoin(false, game);
                    else if (objectName.Equals("Flower"))
                        gameObject = new Flower(false, game);
                    else if (objectName.Equals("GreenMush"))
                        gameObject = new GreenMushroom(false, game);
                    else if (objectName.Equals("RedMush"))
                        gameObject = new RedMushroom(false, game);
                    else if (objectName.Equals("Star"))
                        gameObject = new Star(false, game);
                    else if (objectName.Equals("Koopa"))
                        gameObject = new GreenKoopa(game);
                    else if (objectName.Equals("Goomba"))
                        gameObject = new Goomba(game);
                    else if (objectName.Equals("Boo1"))
                        gameObject = new Boo(game, IEnemyObjectConstants.BOO_START_LOCATIONS[0]);
                    else if (objectName.Equals("Boo2"))
                        gameObject = new Boo(game, IEnemyObjectConstants.BOO_START_LOCATIONS[1]);
                    else if (objectName.Equals("Boo3"))
                        gameObject = new Boo(game, IEnemyObjectConstants.BOO_START_LOCATIONS[2]);
                    else if (objectName.Equals("Boo4"))
                        gameObject = new Boo(game, IEnemyObjectConstants.BOO_START_LOCATIONS[3]);
                    else if (objectName.Equals("Castle"))
                        gameObject = new Castle(game);
                    else if (objectName.Equals("FlagPole"))
                        gameObject = new FlagPole(game);
                    else if (objectName.Equals("FlagPoleBarrier"))
                        gameObject = new InvisibleFlagPoleBarrier(game);
                    else if (objectName.Equals("SolidBlock"))
                        gameObject = new Block(Block.Type.SolidBlock, false, game);
                    else if (objectName.Equals("HBlockWall"))
                        gameObject = new Block(Block.Type.HorizontalBlockWall, false, game);
                    else if (objectName.Equals("VBlockWall"))
                        gameObject = new Block(Block.Type.VerticalBlockWall, false, game);
                    else if (objectName.Equals("InvisCoinBlock"))
                    {
                        objectsItem = new Coin(true, game);
                        gameObject = new Block(Block.Type.HiddenBlock, false, game);
                    }

                    else if (objectName.Equals("InvisGreenMushBlock"))
                    {
                        objectsItem = new GreenMushroom(true, game);
                        gameObject = new Block(Block.Type.HiddenBlock, false, game);
                    }
                    else if (objectName.Equals("QuestionCoinBlock"))
                    {
                        objectsItem = new Coin(true, game);
                        gameObject = new Block(Block.Type.QuestionBlock, false, game);
                    }
                    else if (objectName.Equals("BrickCoinBlock"))
                    {
                        objectsItem = new Coin(true, game);
                        gameObject = new Block(Block.Type.BrickBlock, false, game);
                    }
                    else if (objectName.Equals("QuestionRedMushBlock"))
                    {
                        objectsItem = new RedMushroom(true, game);
                        gameObject = new Block(Block.Type.QuestionBlock, false, game);
                    }
                    else if (objectName.Equals("QuestionGreenMushBlock"))
                    {
                        objectsItem = new GreenMushroom(true, game);
                        gameObject = new Block(Block.Type.QuestionBlock, false, game);
                    }
                    else if (objectName.Equals("QuestionFlowerBlock"))
                    {
                        objectsItem = new Flower(true, game);
                        gameObject = new Block(Block.Type.QuestionBlock, false, game);
                    }
                    else if (objectName.Equals("QuestionStarBlock"))
                    {
                        objectsItem = new Star(true, game);
                        gameObject = new Block(Block.Type.QuestionBlock, false, game);
                    }
                    else if (objectName.Equals("BrickStarBlock"))
                    {
                        objectsItem = new Star(true, game);
                        gameObject = new Block(Block.Type.BrickBlock, false, game);
                    }
                    else if (objectName.Equals("BrickBlock"))
                        gameObject = new Block(Block.Type.BrickBlock, false, game);
                    else if (objectName.Equals("UndergroundBrickBlock"))
                        gameObject = new Block(Block.Type.BrickBlock, true, game);
                    else if (objectName.Equals("BreakingBlock"))
                        gameObject = new Block(Block.Type.BreakingBlock, false, game);
                    else if (objectName.Equals("UndergroundBreakingBlock"))
                        gameObject = new Block(Block.Type.BreakingBlock, true, game);
                    else if (objectName.Equals("EnemyUpBlock"))
                        gameObject = new Block(Block.Type.EnemyUpBlock, true, game);
                    else if (objectName.Equals("EnemyDownBlock"))
                        gameObject = new Block(Block.Type.EnemyDownBlock, true, game);
                    else if (objectName.Equals("EnemyRightBlock"))
                        gameObject = new Block(Block.Type.EnemyRightBlock, true, game);
                    else if (objectName.Equals("EnemyLeftBlock"))
                        gameObject = new Block(Block.Type.EnemyLeftBlock, true, game);
                    else if (objectName.Equals("TeleportBlock"))
                        gameObject = new Block(Block.Type.TeleportBlock, false, game);
                    else if (objectName.Equals("Pipe"))
                        gameObject = new Pipe(game);
                    else if (objectName.Equals("DoublePipe"))
                        gameObject = new DoublePipe(game);
                    else if (objectName.Equals("TriplePipe"))
                        gameObject = new TriplePipe(game);
                    else if (objectName.Equals("SidePipe"))
                        gameObject = new SidePipe(game);
                    else if (objectName.Equals("VerticalPipe"))
                        gameObject = new VerticalPipe(game);
                    else if (objectName.StartsWith("TripleWarpPipe"))
                    {
                        string[] parsedName = objectName.Split('-');
                        float x = Int32.Parse(parsedName[1]);
                        float y = Int32.Parse(parsedName[2]);
                        gameObject = new TriplePipe(new Vector2(x, y), game);
                    }
                    else if (objectName.StartsWith("TripleGameStatePipe"))
                    {
                        string[] parsedName = objectName.Split('-');
                        IGameState gameState = createNewGameState(parsedName[1], game);
                        gameObject = new TriplePipe(gameState, game);
                    }
                    else if (objectName.StartsWith("SideWarpPipe"))
                    {
                        string[] parsedName = objectName.Split('-');
                        float x = Int32.Parse(parsedName[1]);
                        float y = Int32.Parse(parsedName[2]);
                        gameObject = new SidePipe(new Vector2(x, y), game);
                    }
                    else if (objectName.Equals("BigHill"))
                        gameObject = new BigHill(game);
                    else if (objectName.Equals("Bush"))
                        gameObject = new SingleBush(game);
                    else if (objectName.Equals("Cloud"))
                        gameObject = new SingleCloud(game);
                    else if (objectName.Equals("SmHill"))
                        gameObject = new SmallHill(game);
                    else if (objectName.Equals("TripleBush"))
                        gameObject = new TripleBush(game);
                    else if (objectName.Equals("TripleCloud"))
                        gameObject = new TripleCloud(game);
                    else if (objectName.Equals("Buckeye"))
                        gameObject = new BuckeyePlayer(game);
                    else if (objectName.Equals("Wolverine"))
                        gameObject = new WolverineEnemy(game);
                    else if (objectName.Equals("JmpWolverine"))
                        gameObject = new JumpingWolverineEnemy(game);
                    else if (objectName.Equals("WolverineChuck"))
                        gameObject = new WolverineChuck(game);
                    else if (objectName.Equals("ThwWolverine"))
                        gameObject = new ThrowingWolverineEnemy(game);
                    else if (objectName.Equals("BuckeyeGrass"))
                        gameObject = new GrassTile(game);
                    else if (objectName.Equals("BuckeyeGround"))
                        gameObject = new GroundTile(game);
                    else if (objectName.Equals("BuckeyeStone"))
                        gameObject = new StoneTile(game);
                    else if (objectName.Equals("StoneWall"))
                        gameObject = new GiantVerticalStoneWall(game);
                    else if (objectName.Equals("Paddle"))
                        gameObject = new Paddle(game);
                    else if (objectName.Equals("PaddleBall"))
                        gameObject = new PaddleBall(game);
                    else if (objectName.Equals("ElevatorU"))
                        gameObject = new Elevator(true, game);
                    else if (objectName.Equals("ElevatorD"))
                        gameObject = new Elevator(false, game);
                    else if (objectName.Equals("Endblock"))
                        gameObject = new Endblock(game);
                    

                    if (objectsItem != null)
                    {
                        objectsItem.VectorCoordinates = location + new Vector2(0, -objectsItem.Sprite.SpriteDimensions.Y);
                        gameObjects.Add(objectsItem);
                    }

                    if(gameObject != null){

                        gameObject.VectorCoordinates = location + new Vector2(0, -gameObject.Sprite.SpriteDimensions.Y + 16);

                        if (gameObject is IFlagPole)
                            gameObject.VectorCoordinates += new Vector2(0,16);

                        gameObjects.Add(gameObject);
                    }
                    
                    location.X += 16;
                }

                location.Y += 16;
                location.X = 0;
            }

            for(int index = 0; index < gameObjects.Count; index++)
            {
                if (gameObjects[index] is IMario)
                {
                    IGameObject mario = gameObjects[index];
                    gameObjects.RemoveAt(index);
                    gameObjects.Add(mario);
                    break;
                }
            }

            for (int index = 0; index < gameObjects.Count; index++)
            {
                if (gameObjects[index] is IScenery)
                {
                    IGameObject scenery = gameObjects[index];
                    gameObjects.RemoveAt(index);
                    gameObjects.Insert(0, scenery);
                }
            }

            for (int index = gameObjects.Count - 1; index > 0; index--)
            {
                if (gameObjects[index] is IPipe)
                {
                    IGameObject pipe = gameObjects[index];
                    gameObjects.RemoveAt(index);
                    gameObjects.Add(pipe);
                }
            }

                return gameObjects;
        }
Esempio n. 50
0
 public ElevatorEvent(Elevator elevator, EName name) : base(elevator)
 {
     this.name = name;
 }
Esempio n. 51
0
	public ElevatorEvent(Elevator elevator, EName name, int level) : this(elevator, name)
    {
        this.level = level;
    }
 // Use this for initialization
 void OnEnable()
 {
     el = (Elevator)target;
 }