namespace Code.Gameplay.Orders.Order { public interface IOrderService { delegate void OrderFailureDelegate(); delegate void OrderProgressDelegate(float time); event OrderProgressDelegate OnOrderGiven; event OrderProgressDelegate OnOrderRecieved; event OrderFailureDelegate OnOrderFailure; delegate void OrderDeliveredDelegate(int score, float time); event OrderDeliveredDelegate OnOrderDelivered; OrderState OrderState { get; } float DeliveryTimer { get; } void RoomPassed(); void DecreaseTimer(float delta); void OrderGive(); void OrderRecieved(); void OrderDelivered(); void OrderFailed(); } }