Exemple #1
0
    private IEnumerator StartCooking(GameObject p_cookedObject)
    {
        m_isCooking = true;
        HeldFoodObject currentCooked = p_cookedObject.GetComponent <HeldFoodObject>();

        currentCooked.SetColliderState(false);
        m_cookingEvents.m_startCooking.Invoke();

        yield return(new WaitForSeconds(m_cookingTime));

        if (currentCooked != null)
        {
            currentCooked.ResetMe();
            currentCooked.UseObject();
            currentCooked.SetColliderState(true);
            int currentFoodIndex = 0;
            if (CanBeCooked(currentCooked.m_heldFoodIndex, out currentFoodIndex))
            {
                m_collider.enabled    = false;
                m_currentCookedObject = m_cookedVersions[currentFoodIndex].m_cookedVersion;
                m_currentCookedObject.SetActive(true);
            }
        }

        m_isCooking = false;
        m_cookingEvents.m_finishedCooking.Invoke();
    }
Exemple #2
0
    /// <summary>
    /// Checks to see if the interaction should be performed.
    /// </summary>
    /// <param name="p_playerHand"></param>
    /// <returns></returns>
    public bool InteractionValid()
    {
        if (m_playerHand.CurrentHeldObject() == null)
        {
            return(false);
        }
        HeldFoodObject foodObject = m_playerHand.CurrentHeldObject().ReturnCurrentObject().GetComponent <HeldFoodObject>();

        if (foodObject != null)
        {
            if (!m_currentSandwhich.m_hasBottomBread)
            {
                if (foodObject.m_heldFoodIndex == 0)
                {
                    AddObjectToSandwich(foodObject.m_heldFoodIndex);
                    m_playerHand.EmptyHand(true);
                    return(true);
                }
            }
            else
            {
                AddObjectToSandwich(foodObject.m_heldFoodIndex);
                m_playerHand.EmptyHand(true);
                return(true);
            }
        }
        return(false);
    }