Example #1
0
        public bool Serve(Plate plate)
        {
            if (!HasClient)
            {
                return(false);
            }
            if (HasPlate)
            {
                return(false);
            }

            var newPosition       = new Vector3();
            var catchableCollider = plate.GetComponent <BoxCollider>();

            if (catchableCollider != null)
            {
                newPosition.y = catchableCollider.size.y / 2;
            }

            var takenObject = plate.Catch(PlatePosition, newPosition, new Quaternion());

            if (takenObject == null)
            {
                return(false);
            }

            Plate.CanBeCaught = false;

            Client.Eat(Plate);

            return(true);
        }
Example #2
0
        private void Serve(Plate plate)
        {
            if (HasBigPlate)
            {
                return;
            }

            var seatToServe = FindSeatWithoutPlate();

            if (seatToServe == null)
            {
                return;
            }

            seatToServe.Serve(plate);
        }
Example #3
0
        public void Stack(Plate plate)
        {
            if (!Finished)
            {
                return;
            }

            plate.CanBeCaught = true;

            var newPosition       = new Vector3();
            var catchableCollider = plate.GetComponent <BoxCollider>();

            if (catchableCollider != null)
            {
                newPosition.y = catchableCollider.size.y / 2;
            }

            plate.Catch(StackedPlatePosition, newPosition, new Quaternion());
        }