void RequestDestroy( AsBaseEntity _entity) { if( ( eModelLoadingState.Started == _entity.CheckModelLoadingState()) || ( false == _entity.CheckPartsLoaded())) { // Debug.Log( "AsEntityManager::RequestDestroy: insert destruction. entity = " + _entity + ", _entity.GetInstanceID() = " + _entity.GetInstanceID()); // Debug.Log( "AsEntityManager::RequestDestroy: _entity.CheckModelLoadingState() = " + _entity.CheckModelLoadingState() + ", _entity.CheckPartsLoaded() = " + _entity.CheckPartsLoaded()); m_queWaitingEntity.Enqueue( _entity); } else { // Debug.Log( "AsEntityManager::RequestDestroy: inserted entity's model is already loaded. Destroy( _entity.GetInstanceID()) = " + _entity.GetInstanceID()); _entity.DestroyThis(); #if AUTOMOVE_EFFECT if( _entity.isNeedAutoMoveEffect) AsEffectManager.Instance.PlayEffect( "FX/Effect/COMMON/Fx_Common_AutoMove", _entity.transform.position, false, 0f, 1.0f); //if( _entity.isNeedAutoMoveEffect && null != AsSoundManager.Instance) // AsSoundManager.Instance.PlaySound( "Sound/PC/Common/Se_Common_AutoMove", _entity.transform.position, false); #endif Destroy( _entity.gameObject); return; } if( m_DestroyingEntity == false && gameObject.active == true) StartCoroutine( DestroyingSequence()); }