public void ReserveSeat()
        {
            var testClass         = GetTestClass();
            var testStudent       = GetTestStudents();
            var seatController    = new SeatController(_seatLogger);
            var studentController = new StudentController(_studentLogger);
            var classController   = new ClassController(_classLogger);

            DatabaseConnector.Connector.RemoveClass(testClass[0].className);

            // add student
            studentController.RemoveStudent(testStudent);
            var request2 = studentController.AddStudent(testStudent);

            Assert.True(request2[0].response);

            // add class
            var request = classController.MakeClassAPI(testClass);

            Assert.True(request[0].response);

            // reserve a seat
            request = seatController.ReserveSeatAPI(testClass);
            Assert.True(request[0].response);

            // attempt to reserve same seat
            request = seatController.ReserveSeatAPI(testClass);
            Assert.False(request[0].response);

            // cleanup
            studentController.RemoveStudent(testStudent);
            request = classController.RemoveClassAPI(testClass);
        }
        public void AddAndGetSeat()
        {
            var testStudent       = GetTestStudents();
            var seatController    = new SeatController(_seatLogger);
            var studentController = new StudentController(_studentLogger);
            var classController   = new ClassController(_classLogger);

            // attempt to get seat
            var request = seatController.GetSeatAPI(testStudent);

            Assert.False(request[0].response);

            // add student
            studentController.RemoveStudent(testStudent);
            request = studentController.AddStudent(testStudent);
            Assert.True(request[0].response);

            // add class for student
            request = studentController.AddClass(testStudent);
            Assert.True(request[0].response);

            // add seat
            request = seatController.AddSeatAPI(testStudent);
            Assert.True(request[0].response);

            // get seat
            request = seatController.GetSeatAPI(testStudent);
            Assert.True(request[0].response);

            // cleanup
            request = studentController.RemoveStudent(testStudent);
            Assert.True(request[0].response);
        }
        public int[] GetBestSeats(int amount, int schedulerID)
        {
            SeatController seatCtr = new SeatController();

            int[] bestSeats = seatCtr.FindBestSeats(amount, schedulerID);

            return(bestSeats);
        }
    public void seat(SeatController table)
    {
        if (table != null)
        {
            transform.SetParent(table.transform);
            name = "Player" + table.getSLOTS();
            transform.localPosition = positions[table.getSLOTS() - 1];
            GetComponent <PlayerBase>().dialogBox = transform.parent.gameObject.FindComponentInChildWithTag <Transform>("dialog").gameObject.transform.GetChild(table.getSLOTS() - 1).gameObject;

            if (table.getSLOTS() > 3)
            {
                table.GetComponent <GameController>().initialSetup();
            }
        }
    }
示例#5
0
        public void Sit(SeatController seat)
        {
            currSeat = seat;
            currSeat.AssignSeat(this);
            currSeat.occupied = true;
            anim.SetBool(sittingHash, true);

            preSitPosition     = transform.position;
            transform.position = seat.transform.position;
            transform.rotation = seat.transform.rotation;
            sitting            = true;
            if (seatAudioSource)
            {
                seatAudioSource.PlayOneShot(seatAudioSource.clip);
            }
            onSit?.Invoke();
        }
示例#6
0
 public void Unsit()
 {
     anim.SetBool(sittingHash, false);
     transform.position = preSitPosition;
     sitting            = false;
     if (seatAudioSource)
     {
         seatAudioSource.PlayOneShot(seatAudioSource.clip);
     }
     onUnsit?.Invoke();
     if (!currSeat)
     {
         return;
     }
     currSeat.occupied = false;
     currSeat.UnassignSeat();
     currSeat = null;
 }
        public void DisableSeat()
        {
            var testClass       = GetTestClass();
            var seatController  = new SeatController(_seatLogger);
            var classController = new ClassController(_classLogger);

            // attempt to disable non existent seat
            DatabaseConnector.Connector.RemoveClass(testClass[0].className);

            var request = seatController.DisableSeatAPI(testClass);

            Assert.False(request[0].response);

            // add class
            request = classController.MakeClassAPI(testClass);
            Assert.True(request[0].response);

            // disable a seat
            request = seatController.DisableSeatAPI(testClass);
            Assert.True(request[0].response);

            // cleanup
            request = classController.RemoveClassAPI(testClass);
        }
示例#8
0
    /// <summary>
    /// Interaction implementation for different types of InteractableObject's .
    /// Takes the GameObject of the InteractableObject.
    /// </summary>
    /// <param name="obj">InteractableObject GameObject is passed here.</param>
    private void Interaction(GameObject obj)
    {
        IInteractableObject interactingObject = obj.GetComponent <IInteractableObject> ( );

        switch (interactingObject._ObjectType)
        {
        ///Interaction with Garbage Bin. If Player's inventory has something, set it to null.
        case InteractableObjects.Garbage:
            if (GetPlayerInventoryEmpty( ))
            {
                return;
            }

            RefreshInventory( );
            break;

        ///Interaction with Chopping Board
        case InteractableObjects.ChoppingBoard:
            if (obj.tag != "Setup" + _playerModel._playerID.ToString( ))
            {
                return;
            }

            _choppingBoardControl = obj.GetComponent <ChoppingBoardController> ();
            ChoppingBoardInteraction( );
            break;

        ///Interaction with Plate.
        case InteractableObjects.Plate:
            if (obj.tag != "Setup" + _playerModel._playerID.ToString( ))
            {
                return;
            }

            _plateControl = obj.GetComponent <PlateController> ( );
            PlateInteraction( );
            break;

        ///Interaction with Veggies A B C D E & F.
        case InteractableObjects.Veggies:
            if (GetPlayerInventoryFull( ))
            {
                return;
            }

            Veggie veg = obj.GetComponent <Veggie>();
            _playerModel._inventory.Add(veg);
            _playerView.DisplayInventory(_playerModel._inventory.ToArray());
            break;

        ///Interaction with customer's seat.
        ///Serves the order to the customer then empties the player inventory.
        case InteractableObjects.Seat:
            if (GetPlayerInventoryEmpty( ))
            {
                return;
            }

            SeatController seatController = obj.GetComponent <SeatController> ( );
            seatController.ServeOrder(_playerModel._inventory.ToArray(), _playerModel._playerID);
            RefreshInventory( );
            break;

        ///Interaction with Pickup.
        case InteractableObjects.Pickup:
            PickupController pickup = obj.GetComponent <PickupController> ( );
            if (!pickup.IsPlayerEligible(_playerModel._playerID))
            {
                return;
            }

            PickupInteraction(pickup.GetPickupType( ));
            Destroy(obj.gameObject);
            break;

        default:
            break;
        }
    }
        public List <Seat> GetAllSeatsBySchedulerID(int schedulerID)
        {
            SeatController seatCtr = new SeatController();

            return(seatCtr.GetAllSeatsBySchedulerID(schedulerID));
        }
        public int[][] GetAllAvailableSeats(int schID)
        {
            SeatController seatCtr = new SeatController();

            return(seatCtr.ListAvailable(schID));
        }