public void TryActive(GameObject target)
        {
            if (target == null || !this.bValid)
            {
                return;
            }
            if (!string.IsNullOrEmpty(this.effect))
            {
                MinimapSys theMinimapSys = Singleton <CBattleSystem> .GetInstance().TheMinimapSys;

                if (theMinimapSys != null && theMinimapSys.CurMapType() == MinimapSys.EMapType.Mini)
                {
                    TowerHit.PlayEffect(this.effect, 2f, target);
                }
            }
            if (!string.IsNullOrEmpty(this.voice))
            {
                Singleton <CSoundManager> .GetInstance().PlayBattleSound2D(this.voice);
            }
            Singleton <CTimerManager> .instance.ResumeTimer(this.cd_timer);

            this.bValid = false;
        }