Beispiel #1
0
    /// <summary>
    /// 创建蓄力特效
    /// <para>posX</para>
    /// <para>posY</para>
    /// <para>[optional]scale</para>
    /// </summary>
    /// <param name="luaState"></param>
    /// <returns></returns>
    public static int CreateChargeEffect(ILuaState luaState)
    {
        int             top    = luaState.GetTop();
        STGChargeEffect effect = EffectsManager.GetInstance().CreateEffectByType(EffectType.ChargeEffect) as STGChargeEffect;

        if (top == 2)
        {
            float posX = (float)luaState.ToNumber(-2);
            float posY = (float)luaState.ToNumber(-1);
            effect.SetPosition(posX, posY);
        }
        else
        {
            float posX  = (float)luaState.ToNumber(-3);
            float posY  = (float)luaState.ToNumber(-2);
            float scale = (float)luaState.ToNumber(-1);
            effect.SetPosition(posX, posY);
            effect.SetScale(scale);
        }
        luaState.PushLightUserData(effect);
        return(1);
    }