private void Update() { if (!IsPlaying && m_AudioSource.clip != null && m_ResetSoundAgentEventHandler != null) { ResetSoundAgentEventArgs resetSoundAgentEventArgs = ResetSoundAgentEventArgs.Create(); m_ResetSoundAgentEventHandler(this, resetSoundAgentEventArgs); ReferencePool.Release(resetSoundAgentEventArgs); return; } if (m_BindingEntityLogic != null) { UpdateAgentPosition(); } }
private void UpdateAgentPosition() { if (m_BindingEntityLogic.Available) { m_CachedTransform.position = m_BindingEntityLogic.CachedTransform.position; return; } if (m_ResetSoundAgentEventHandler != null) { ResetSoundAgentEventArgs resetSoundAgentEventArgs = ResetSoundAgentEventArgs.Create(); m_ResetSoundAgentEventHandler(this, resetSoundAgentEventArgs); ReferencePool.Release(resetSoundAgentEventArgs); } }
/// <summary> /// 设置声音绑定的实体。 /// </summary> /// <param name="bindingEntity">声音绑定的实体。</param> public override void SetBindingEntity(Entity bindingEntity) { m_BindingEntityLogic = bindingEntity.Logic; if (m_BindingEntityLogic != null) { UpdateAgentPosition(); return; } if (m_ResetSoundAgentEventHandler != null) { ResetSoundAgentEventArgs resetSoundAgentEventArgs = ResetSoundAgentEventArgs.Create(); m_ResetSoundAgentEventHandler(this, resetSoundAgentEventArgs); ReferencePool.Release(resetSoundAgentEventArgs); } }