Exemplo n.º 1
0
    public override void Trigger()
    {
        int attackEftId   = 0;
        int beAttackEftId = 0;

        SkillGameManager.GetSkillAttackEffectId(this.SkillId, this.AttackerId, ref attackEftId, ref beAttackEftId);
        Beast beast = Singleton <BeastManager> .singleton.GetBeastById(this.AttackerId);

        if (beast != null)
        {
            DataSkillShow data = beast.GetSkillShow(this.SkillId);
            if (!this.MainBeAttacker && data != null)
            {
                if (data.SubHitEffectId != 0)
                {
                    beAttackEftId = data.SubHitEffectId;
                }
            }
            if (bShowMissEffect)
            {
                //显示MIss漂浮字样
            }
            else if (beAttackEftId > 0)
            {
                //取得被攻击者的位置,然后播放特效
                Vector3 vTargetPos = this.BeAttackPos.Count > 0 ? Hexagon.GetHex3DPos(this.BeAttackPos[0], Space.World) : Vector3.zero;
                EffectManager.Instance.PlayEffect(beAttackEftId,
                                                  this.BeAttackerId, Vector3.zero, null, 0L, vTargetPos, null, Vector3.zero);
            }
        }
    }