Exemple #1
0
    static int IntToEnum(IntPtr L)
    {
        int           arg0 = (int)LuaDLL.lua_tonumber(L, 1);
        BETweenMethod o    = (BETweenMethod)arg0;

        ToLua.Push(L, o);
        return(1);
    }
Exemple #2
0
        public float Transition(BETweenMethod _method, float ratio)
        {
            switch (_method)
            {
            case BETweenMethod.linear: {
                return(ratio);
            }

            case BETweenMethod.easeIn: {
                return(ratio * ratio * ratio);
            }

            case BETweenMethod.easeOut: {
                float invRatio = ratio - 1.0f;
                return(invRatio * invRatio * invRatio + 1.0f);
            }

            case BETweenMethod.easeInOut: {
                if (ratio < 0.5f)
                {
                    return(0.5f * Transition(BETweenMethod.easeIn, ratio * 2.0f));
                }
                else
                {
                    return(0.5f * Transition(BETweenMethod.easeOut, (ratio - 0.5f) * 2.0f) + 0.5f);
                }
            }

            case BETweenMethod.easeOutIn: {
                if (ratio < 0.5f)
                {
                    return(0.5f * Transition(BETweenMethod.easeOut, ratio * 2.0f));
                }
                else
                {
                    return(0.5f * Transition(BETweenMethod.easeIn, (ratio - 0.5f) * 2.0f) + 0.5f);
                }
            }

            case BETweenMethod.easeInBack: {
                float s = 1.70158f;
                return(Mathf.Pow(ratio, 2.0f) * ((s + 1.0f) * ratio - s));
            }

            case BETweenMethod.easeOutBack: {
                float invRatio = ratio - 1.0f;
                float s        = 1.70158f;
                return(Mathf.Pow(invRatio, 2.0f) * ((s + 1.0f) * invRatio + s) + 1.0f);
            }

            default: return(0.0f);
            }
        }
Exemple #3
0
    static int set_method(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            BETween       obj  = (BETween)o;
            BETweenMethod arg0 = (BETweenMethod)ToLua.CheckObject(L, 2, typeof(BETweenMethod));
            obj.method = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index method on a nil value" : e.Message));
        }
    }
Exemple #4
0
    static int get_method(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            BETween       obj = (BETween)o;
            BETweenMethod ret = obj.method;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index method on a nil value" : e.Message));
        }
    }
Exemple #5
0
 static int Transition(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         BETween       obj  = (BETween)ToLua.CheckObject(L, 1, typeof(BETween));
         BETweenMethod arg0 = (BETweenMethod)ToLua.CheckObject(L, 2, typeof(BETweenMethod));
         float         arg1 = (float)LuaDLL.luaL_checknumber(L, 3);
         float         o    = obj.Transition(arg0, arg1);
         LuaDLL.lua_pushnumber(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }