private void Awake() { m_rigidbody2D = GetComponent<Rigidbody2D>(); m_velocity = Vector2.zero; m_objOn = null; if (m_target == null) { asteroidBh = transform.root.GetComponent<AsteroidBehaviour>(); return; } m_startPos = transform.position; m_endPos = m_target.position; m_curTarget = m_endPos; }
private void OnCollisionExit2D(Collision2D collision) { int mask = m_landableMask.value; int layer = collision.gameObject.layer; if (BitMask.Contains(mask, layer)) { if (m_applyForce) { Vector2 f = m_velocity * m_rigidbody2D.mass; m_objOn.AddForce(f); StartCoroutine(ForceCoolDownRoutine()); } m_objOn = null; } }
private void OnCollisionEnter2D(Collision2D collision) { int mask = m_landableMask.value; int layer = collision.gameObject.layer; if(BitMask.Contains(mask, layer)) { GameObject go = collision.gameObject; m_objOn = go.GetComponent<OnPlatformBehaviour>(); } }