Example #1
0
    /// <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);
    }
Example #2
0
    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);
    }