예제 #1
0
        public void ApplyUse(IInteractionComponent interactor)
        {
            switch (state)
            {
            case States.Empty:
                if (interactor.CurrentItem == null)
                {
                    return;
                }
                Set(interactor.RemoveItem());
                break;

            case States.HasItem:
                if (interactor.CurrentItem != null)
                {
                    item.Combine(interactor.CurrentItem.Ingredient);
                    return;
                }
                if (interactor.ReceiveItem(item))
                {
                    item  = null;
                    state = States.Empty;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }