/// <summary> /// 创建一个特效,并且放在指定位置 /// </summary> /// <param name="effectId">特效id</param> /// <param name="pos">位置,localpos</param> /// <param name="parent">父物体</param> public GameObject CreateEffect(FightUnit owner, int effectId, Vector3 pos, Quaternion rot, bool loop, Transform parent = null, float speed = 1) { EffectObj obj = createEffectObj(effectId); obj.SetSpeed(speed); obj.effect.parent = parent; obj.effect.localPosition = pos; obj.effect.localRotation = rot; obj.effect.localScale = Vector3.one; obj.effect.gameObject.SetActive(true); obj.accTime = 0; obj.isUsing = true; obj.loop = loop; obj.owner = owner; return(obj.effect.gameObject); }
public GameObject CreateFlyEffect(FightUnit owner, int effectId, Quaternion rot, Vector3 des, float time, float playSpeed = 1) { EffectObj obj = createEffectObj(effectId); obj.SetSpeed(playSpeed); obj.Destination = des; Vector3 original = new Vector3(owner.CurPos.x, 0, owner.CurPos.y); obj.effect.localPosition = original; obj.effect.localRotation = rot; obj.FlySpeed = (des - original).magnitude / (time != 0 ? time : 1); obj.effect.localScale = Vector3.one; obj.effect.gameObject.SetActive(true); obj.accTime = 0; obj.isUsing = true; obj.loop = false; obj.owner = owner; return(obj.effect.gameObject); }