internal override void OnTrigger()
        {
            base.OnTrigger();

            List <Entity> listTarget = this.EntityAct.TargetList;

            foreach (Entity ent in listTarget)
            {
                if (ent.ResStatus != ResStatus.OK)
                {
                    return;
                }
                GOEEntityEffectMove effect = this.Entity.AddComponent <GOEEntityEffectMove>();
                effect.StartPos = Entity.GetBindPoint(mSenderAttachNode).position;
                if (ent != null)
                {
                    effect.EndPos = ent.GetBindPoint(mTargetAttachNode).position;
                }
                if (FlyBySpeed)
                {
                    effect.MaxTime = (ent.Position - Entity.Position).magnitude / mSpeed;
                }
                else
                {
                    effect.MaxTime = mTime;
                }
                effect.HeightRatio      = HeightRatio;
                effect.DestructionDelay = mDDelay;
                effect.EffectName       = mEffectName;
                effect.StartMove(EntityAct.ActSpeed);
                effects.Add(effect);
            }
        }
        internal override void OnTrigger()
        {
            base.OnTrigger();

            effect          = this.Entity.AddComponent <GOEEntityEffectMove>();
            effect.StartPos = Entity.GetBindPoint(mSenderAttachNode).position;
            UnityEngine.Vector3 pos = this.EntityAct.TargetPos;
            if (KeepHeight)
            {
                pos.y = effect.StartPos.y;
            }
            effect.EndPos = pos;
            if (FlyBySpeed)
            {
                effect.MaxTime = (effect.EndPos - effect.StartPos).magnitude / mSpeed;
            }
            else
            {
                effect.MaxTime = mTime;
            }
            effect.HeightRatio      = HeightRatio;
            effect.DestructionDelay = mDDelay;
            effect.EffectName       = mEffectName;
            effect.StartMove(EntityAct.ActSpeed);
        }
 internal override void OnDestroy()
 {
     base.OnDestroy();
     if (effect != null)
     {
         effect.OnDestroy();
         effect = null;
     }
 }
 internal override void Restart()
 {
     base.Restart();
     for (int i = 0; i < effects.Count; i++)
     {
         GOEEntityEffectMove effect = effects[i];
         effect.Restart();
     }
 }
 internal override void Pause()
 {
     base.Pause();
     for (int i = 0; i < effects.Count; i++)
     {
         GOEEntityEffectMove effect = effects[i];
         effect.Pause();
     }
 }
 internal override void OnDestroy()
 {
     base.OnDestroy();
     for (int i = 0; i < effects.Count; i++)
     {
         GOEEntityEffectMove effect = effects[i];
         effect.OnDestroy();
     }
     effects.Clear();
 }
        internal override void OnTrigger()
        {
            base.OnTrigger();

            List <Entity> listTarget = this.EntityAct.TargetList;

            foreach (Entity obj in listTarget)
            {
                if (obj != null && obj.ResStatus == ResStatus.OK)
                {
                    Transform tm = obj.GetBindPoint(mTargetAttachNode);
                    if (tm == null)
                    {
                        continue;
                    }

                    int x = UnityEngine.Random.Range(-100, 100);
                    int z = UnityEngine.Random.Range(-100, 100);
                    if (x == 0 && z == 0)
                    {
                        x = 1;
                    }
                    Vector3 ori = new Vector3(x, 0, z);
                    ori = ori.normalized;

                    Vector3 startPos = tm.position + ori * mDistance;

                    GOEEntityEffectMove move = obj.AddComponent <GOEEntityEffectMove>();
                    move.EffectName = mEffectName;
                    move.MaxTime    = mTime;
                    move.StartPos   = startPos;
                    move.EndPos     = tm.position;

                    move.StartMove(EntityAct.ActSpeed);

                    effects.Add(move);
                }
            }
        }