private void OnTriggerStay(Collider collision) { if (Input.GetKeyDown(m_Interact)) { if (collision.gameObject.CompareTag("SandBag")) { m_SandBagHolding = collision.gameObject.GetComponent <SandBag>(); if (m_SandBagHolding.m_PickedUp == false && m_CurrentlyHolding == false) { PickUp(); } else if (m_SandBagHolding != null) { if (m_SandBagHolding.m_PickedUp == true && m_CurrentlyHolding == true) { LetGo(); } } } } else if (m_CurrentlyHolding == false && collision.gameObject.CompareTag("SandBag") && collision.GetComponent <SandBag>().m_BeingThrown == true) { m_SandBagHolding = collision.gameObject.GetComponent <SandBag>(); if (m_SandBagHolding != m_SandBagIThrew) { PickUp(); } else { m_SandBagHolding = null; } } else if (Input.GetKeyDown(m_ThrowKey) && m_SandBagHolding != null) { m_Rigidbody.velocity = Vector3.zero; m_Rigidbody.angularVelocity = Vector3.zero; m_Rigidbody.AddForce(transform.forward * m_ForwardForce, ForceMode.Impulse); m_Rigidbody.AddForce(transform.up * m_UpWardForce, ForceMode.Impulse); m_SandBagHolding.m_BeingThrown = true; m_SandBagIThrew = m_SandBagHolding; LetGo(); } if (collision.gameObject.CompareTag("SpawnerCrate") && m_SandBagHolding == null) { SpawnerBlock sandBagSpawner = collision.gameObject.GetComponent <SpawnerBlock>(); if (m_CurrentlyHolding == false && sandBagSpawner.m_SandBagsInCrate > 0) { m_SandBagHolding = sandBagSpawner.TakeFromCrate(transform); PickUp(); } } }
// Start is called before the first frame update void Start() { spawnerBlock = FindObjectOfType(typeof(SpawnerBlock)) as SpawnerBlock; }