public override CollisionActionResult OnCollisionAction(CollisionActionResult result) { if (isPlay(result)) { m_AudioSource.PlayOneShot(m_AudioClip); result.Sound = m_AudioClip; Debug.Log("clip[sample: " + m_AudioClip.samples + ", " + m_AudioClip.length + " ms, " + (1.0f * m_AudioClip.samples / m_AudioClip.length / 1000.0f) + "]"); // StartCoroutine("Restore"); } return(result); }
void OnCollisionEnter(Collision other) { if (disabled) { return; } var result = new CollisionActionResult(gameObject, other, isCollisionModifiable, isCollisionHapticable); foreach (var action in GetComponents <CollisionActionBehaviour>()) { result = action.onCollisionAction(result); } StartCoroutine("wait"); }
protected virtual bool isPlay(CollisionActionResult result) { return(m_IsPlayable && result.IsCollisionHapticable && m_AudioClip != null); }
public virtual CollisionActionResult OnCollisionAction(CollisionActionResult result) { return(result); }
internal CollisionActionResult onCollisionAction(CollisionActionResult result) { return(enabled ? OnCollisionAction(result) : result); }