Beispiel #1
0
        virtual public bool onEnert()
        {
            // Debug.Log("onEnert " + buffEffectName);
            if (buffEffectName.Length > 0)
            {
                ResourceManager.LoadObjectByWWW(buffEffectName, (ResLoadInfo res, object param) =>
                {
                    GameObject obj = res.LoadAsset <GameObject>();

                    if (obj != null)
                    {
                        buffEffectDelayPlay = FightDefin.LoadEffect(obj);
                        if (buffEffectDelayPlay != null)
                        {
                            buffEffectDelayPlay.gameObject.transform.parent = this.target.transform;
                            FightDefin.TransformIdentity(buffEffectDelayPlay.gameObject.transform);
                        }
                    }
                    else
                    {
                        Debug.LogError("buff加载失败" + buffEffectName.ToString());
                    }
                });
            }
            return(true);
        }
Beispiel #2
0
        public static EffectDelayPlay LoadSkill(GameObject skillPrefab, LevelAgent attachActor, eSkillDirection skillDirection = eSkillDirection.orignal, bool blContainToPlayerControl = false, bool blInSkillLay = true)//,float durationTime=0
        {
            if (attachActor == null)
            {
                Debug.LogErrorFormat(" load skill null:" + skillPrefab.name);
            }
            EffectDelayPlay edp = LoadEffect(skillPrefab);

            if (edp != null)
            {
                if (blContainToPlayerControl)
                {
                    edp.gameObject.transform.SetParent(attachActor.transform);
                    TransformIdentity(edp.gameObject.transform);
                }
                else
                {
                    edp.transform.position = attachActor.transform.position;
                    if (skillDirection == eSkillDirection.self)
                    {
                        edp.transform.rotation = attachActor.transform.rotation;
                    }
                }
                if (blInSkillLay)
                {
                    GameObjectUtils.setChildLayer(edp.gameObject, skillLayer);
                }
            }

            return(edp);
        }
Beispiel #3
0
 public void LoadSkill()
 {
     if (skill_Effect == null)
     {
         return;
     }
     if (blCopy)
     {
         foreach (LevelAgent pc in targets)
         {
             if (pc != null)
             {
                 EffectDelayPlay edp = FightDefin.LoadSkill(skill_Effect, pc);
                 if (edp != null)
                 {
                     GameObjectUtils.setChildLayer(edp.gameObject, FightDefin.skillLayer);
                     effects.Add(edp);
                 }
             }
         }
     }
     else
     {
         if (targets[0] != null)
         {
             EffectDelayPlay edp = FightDefin.LoadSkill(skill_Effect, targets[0]);
             if (edp != null)
             {
                 GameObjectUtils.setChildLayer(edp.gameObject, FightDefin.skillLayer);
                 effects.Add(edp);
             }
         }
     }
 }
Beispiel #4
0
 public static EffectDelayPlay LoadEffect(GameObject resPrefab, Vector3 vPos)
 {
     if (resPrefab != null)
     {
         GameObject      resEffect = (GameObject)GameObject.Instantiate(resPrefab, vPos, new Quaternion());
         EffectDelayPlay edp       = resEffect.GetComponent <EffectDelayPlay>();
         return(edp);
     }
     else
     {
         Debug.LogError(" LoadEffect null");
         return(null);
     }
 }
Beispiel #5
0
 public static EffectDelayPlay LoadEffect(GameObject resPrefab)
 {
     if (resPrefab != null)
     {
         GameObject resEffect = GameObject.Instantiate(resPrefab);
         TransformIdentity(resEffect.transform);
         EffectDelayPlay edp = resEffect.GetComponent <EffectDelayPlay>();
         return(edp);
     }
     else
     {
         Debug.LogError(" LoadEffect null");
         return(null);
     }
 }
Beispiel #6
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="blKapingKey">是否技能打击的关键目标(决定卡屏结束时间)</param>
    /// <param name="hurtHP"></param>
    /// <param name="blJS">true 为技能的最后一击</param>
    public void OnSkillDamageTaken(int damageValue, Vector3 damagePoint, IAlignmentProvider alignment,
                                   bool blJS = false, GameObject hitEffect = null, string targetTag = "")
    {
        if (this.isDead)
        {
            return;
        }

        if (hitEffect != null)
        {
            EffectDelayPlay edp = FightDefin.LoadSkill(hitEffect, this, eSkillDirection.orignal, false, false);
            edp.m_blIgnoreScaleTime = true;
        }
        //最后一击
        if (blJS && targetTag != "")
        {
            // AddHUDText(targetTag, eScoreFlashType.SkillUp);
        }
        Damage(damageValue, damagePoint, alignment);
    }