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); }
private void Serve(Plate plate) { if (HasBigPlate) { return; } var seatToServe = FindSeatWithoutPlate(); if (seatToServe == null) { return; } seatToServe.Serve(plate); }
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()); }