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; } }
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; }