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); }
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); }
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); } } } }
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); } }
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); } }
/// <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); }