public void reset() { m_node = null; m_enemyView = null; m_updateTime = float.MaxValue; m_hitEffect = BeltItem.EffectTypeEnum.ETE_NORMAL; }
public void kill(BeltItem.EffectTypeEnum effectType, bool propagate = false) { m_hitEffect = effectType; m_effect = null; switch(effectType) { case BeltItem.EffectTypeEnum.ETE_FIRE: m_effect = EffectsManager.instance.getEffect(Vector2.zero, Quaternion.identity, EffectsManager.FXType.FXT_Fire01); break; case BeltItem.EffectTypeEnum.ETE_ICE: m_effect = EffectsManager.instance.getEffect(Vector2.zero, Quaternion.identity, EffectsManager.FXType.FXT_Ice01); break; case BeltItem.EffectTypeEnum.ETE_SHOCK: m_effect = EffectsManager.instance.getEffect(Vector2.zero, Quaternion.identity, EffectsManager.FXType.FXT_Shock01); break; } if (m_effect != null) { m_effect.GetComponent<SpriteRenderer>().sortingLayerID = m_enemyView.GetComponent<SpriteRenderer>().sortingLayerID; m_effect.GetComponent<SpriteRenderer>().sortingOrder = m_enemyView.GetComponent<SpriteRenderer>().sortingOrder + 1; m_effect.GetComponent<Transform>().SetParent(this.GetComponent<Transform>(), false); m_effect.triggerEffect(); } if (propagate && effectType != BeltItem.EffectTypeEnum.ETE_NORMAL && effectType != BeltItem.EffectTypeEnum.ETE_HEAVY && effectType == m_enemyView.m_type) { propagateDir(0, -1, effectType); propagateDir(0, 1, effectType); propagateDir(-1, 0, effectType); propagateDir(1, 0, effectType); } SceneManager.instance.getUIScript().getEnemyCounter().updateCounter(-1); m_states[m_curState].resetState(); m_updateTime = 0.03f; m_curState = (int)StateEnum.SE_DEAD; }