예제 #1
0
 public void SetDownPickup()
 {
     if (m_holdingPickup != null)
     {
         if (m_holdingPickup.CompareTag("Water"))
         {
             m_holdingPickupSprite.enabled = true;
             m_waterSprite.enabled         = false;
         }
         if (m_holdingPickup.CompareTag("Objective"))
         {
             SpriteRenderer[] boopSprites = m_boop.GetComponentsInChildren <SpriteRenderer>(true);
             foreach (SpriteRenderer childSprite in boopSprites)
             {
                 if (childSprite.gameObject.CompareTag("Arrow"))
                 {
                     childSprite.enabled = false;
                 }
             }
         }
         m_holdingPickup.transform.SetParent(null);
         m_holdingPickup.NotifyDrop(this);
         m_holdingPickup = null;
     }
 }
예제 #2
0
    public void PickUp(Pickup target)
    {
        if (target == null ||
            target.HeldBy != null ||
            !target.CanBeGrabbedBy(gameObject))
        {
            return;
        }

        if (target.CompareTag("Water"))
        {
            m_holdingPickupSprite         = target.gameObject.GetComponent <SpriteRenderer>();
            m_holdingPickupSprite.enabled = false;
            m_waterSprite.enabled         = true;
            if (onFireWaterPickup != null)
            {
                onFireWaterPickup(target.transform.position);
            }
        }
        if (target.CompareTag("Objective"))
        {
            if (onObjectivePickup != null)
            {
                onObjectivePickup(target.transform.position);
            }
            if (m_boop.GetComponent <PlayerInteraction>().m_objectiveCount < 5)
            {
                SpriteRenderer[] boopSprites = m_boop.GetComponentsInChildren <SpriteRenderer>(true);
                foreach (SpriteRenderer childSprite in boopSprites)
                {
                    if (childSprite.gameObject.CompareTag("Arrow"))
                    {
                        childSprite.enabled = true;
                    }
                }
            }
        }
        target.transform.SetParent(transform);
        target.transform.localRotation = Quaternion.identity;
        target.transform.localPosition = new Vector3(0f, 1f, 0f);
        target.NotifyPickUp(this);
        m_holdingPickup = target;
    }