private void FuncMain() { if (!m_isDeleted) { m_unbreakableTimer -= Time.get_deltaTime(); m_actionCoolTimer -= Time.get_deltaTime(); if (m_timeCount >= m_aliveTime) { RequestDestroy(true); } else if (m_mineData.actionType == BulletData.BulletActionMine.ACTION_TYPE.REFLECT) { switch (reactionType) { case REACTION_TYPE.REFLECT: if (m_actionCoolTimer <= 0f) { RequestReflect(true); } break; case REACTION_TYPE.DIRECTION_CHANGE: if (m_actionCoolTimer <= 0f) { RequestReflect(false); } break; case REACTION_TYPE.EXPLODE: if (hitObject != null && m_unbreakableTimer <= 0f) { bool isExplode = false; if (!IsAvoidExplode(hitLayer) && IsLayerExplode(hitLayer)) { isExplode = true; } if (m_attacker != null) { Enemy enemy = m_attacker as Enemy; if (enemy != null && enemy.enemySender != null) { enemy.ActDestroyActionMine(objId, isExplode); enemy.enemySender.OnDestroyActionMine(objId, isExplode); } } } break; } ResetHit(); } } }