static int Evaluate(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2)
            {
                UnityEngine.ParticleSystem.MinMaxGradient obj = (UnityEngine.ParticleSystem.MinMaxGradient)ToLua.CheckObject(L, 1, typeof(UnityEngine.ParticleSystem.MinMaxGradient));
                float             arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
                UnityEngine.Color o    = obj.Evaluate(arg0);
                ToLua.Push(L, o);
                ToLua.SetBack(L, 1, obj);
                return(1);
            }
            else if (count == 3)
            {
                UnityEngine.ParticleSystem.MinMaxGradient obj = (UnityEngine.ParticleSystem.MinMaxGradient)ToLua.CheckObject(L, 1, typeof(UnityEngine.ParticleSystem.MinMaxGradient));
                float             arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
                float             arg1 = (float)LuaDLL.luaL_checknumber(L, 3);
                UnityEngine.Color o    = obj.Evaluate(arg0, arg1);
                ToLua.Push(L, o);
                ToLua.SetBack(L, 1, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: UnityEngine.ParticleSystem.MinMaxGradient.Evaluate"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Exemple #2
0
    public override void OnActivate(Ship ship)
    {
        base.OnActivate(ship);

        originalAcceleration = ship.attributes.acceleration;
        originalSpeed        = ship.attributes.speed;

        foreach (ParticleSystem trail in ship.trails)
        {
            if (trail)
            {
                originalTrailColor  = trail.main.startColor;
                originalEmissionRoT = trail.emission.rateOverTime;
                originalStartSpeed  = trail.main.startSpeed;

                ParticleSystem.MainModule psmm = trail.main;
                psmm.startColor = turboTrailColor;
                psmm.startSpeed = originalStartSpeed.constant * speedModifier;

                ParticleSystem.EmissionModule psem = trail.emission;
                psem.rateOverTime = originalEmissionRoT.constant * 5f;
            }
        }

        if (charge > 0f)
        {
            ship.attributes.acceleration *= accelerationModifier;
            ship.attributes.speed        *= speedModifier;
            ship.engineVolumeModifier    *= accelerationModifier;

            AudioManager.Play(activationSound, ship.transform.position, 0.6f);
        }
    }
Exemple #3
0
 static public int constructor(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         UnityEngine.ParticleSystem.MinMaxGradient o;
         if (matchType(l, "ctor__Color__Color", argc, 2, typeof(UnityEngine.Color), typeof(UnityEngine.Color)))
         {
             UnityEngine.Color a1;
             checkType(l, 3, out a1);
             UnityEngine.Color a2;
             checkType(l, 4, out a2);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1, a2);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (matchType(l, "ctor__Gradient__Gradient", argc, 2, typeof(UnityEngine.Gradient), typeof(UnityEngine.Gradient)))
         {
             UnityEngine.Gradient a1;
             checkType(l, 3, out a1);
             UnityEngine.Gradient a2;
             checkType(l, 4, out a2);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1, a2);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (matchType(l, "ctor__Color", argc, 2, typeof(UnityEngine.Color)))
         {
             UnityEngine.Color a1;
             checkType(l, 3, out a1);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (matchType(l, "ctor__Gradient", argc, 2, typeof(UnityEngine.Gradient)))
         {
             UnityEngine.Gradient a1;
             checkType(l, 3, out a1);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (argc <= 2)
         {
             o = new UnityEngine.ParticleSystem.MinMaxGradient();
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         return(error(l, "New object failed."));
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
    static int _CreateUnityEngine_ParticleSystem_MinMaxGradient(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 1 && TypeChecker.CheckTypes <UnityEngine.Color>(L, 1))
            {
                UnityEngine.Color arg0 = ToLua.ToColor(L, 1);
                UnityEngine.ParticleSystem.MinMaxGradient obj = new UnityEngine.ParticleSystem.MinMaxGradient(arg0);
                ToLua.PushValue(L, obj);
                return(1);
            }
            else if (count == 1 && TypeChecker.CheckTypes <UnityEngine.Gradient>(L, 1))
            {
                UnityEngine.Gradient arg0 = (UnityEngine.Gradient)ToLua.ToObject(L, 1);
                UnityEngine.ParticleSystem.MinMaxGradient obj = new UnityEngine.ParticleSystem.MinMaxGradient(arg0);
                ToLua.PushValue(L, obj);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes <UnityEngine.Color, UnityEngine.Color>(L, 1))
            {
                UnityEngine.Color arg0 = ToLua.ToColor(L, 1);
                UnityEngine.Color arg1 = ToLua.ToColor(L, 2);
                UnityEngine.ParticleSystem.MinMaxGradient obj = new UnityEngine.ParticleSystem.MinMaxGradient(arg0, arg1);
                ToLua.PushValue(L, obj);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes <UnityEngine.Gradient, UnityEngine.Gradient>(L, 1))
            {
                UnityEngine.Gradient arg0 = (UnityEngine.Gradient)ToLua.ToObject(L, 1);
                UnityEngine.Gradient arg1 = (UnityEngine.Gradient)ToLua.ToObject(L, 2);
                UnityEngine.ParticleSystem.MinMaxGradient obj = new UnityEngine.ParticleSystem.MinMaxGradient(arg0, arg1);
                ToLua.PushValue(L, obj);
                return(1);
            }
            else if (count == 0)
            {
                UnityEngine.ParticleSystem.MinMaxGradient obj = new UnityEngine.ParticleSystem.MinMaxGradient();
                ToLua.PushValue(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: UnityEngine.ParticleSystem.MinMaxGradient.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
 static public int ctor_s(IntPtr l)
 {
     try {
         UnityEngine.ParticleSystem.MinMaxGradient o;
         o = new UnityEngine.ParticleSystem.MinMaxGradient();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int op_Implicit__MinMaxGradient__Gradient_s(IntPtr l)
 {
     try {
         UnityEngine.Gradient a1;
         checkType(l, 1, out a1);
         UnityEngine.ParticleSystem.MinMaxGradient ret = a1;
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int ctor__Gradient_s(IntPtr l)
 {
     try {
         UnityEngine.ParticleSystem.MinMaxGradient o;
         UnityEngine.Gradient a1;
         checkType(l, 1, out a1);
         o = new UnityEngine.ParticleSystem.MinMaxGradient(a1);
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static void ColorOverLifetimeModule_color(JSVCall vc)
 {
     if (vc.bGet)
     {
         UnityEngine.ParticleSystem.ColorOverLifetimeModule _this = (UnityEngine.ParticleSystem.ColorOverLifetimeModule)vc.csObj;
         var result = _this.color;
         JSMgr.datax.setObject((int)JSApi.SetType.Rval, result);
     }
     else
     {
         UnityEngine.ParticleSystem.MinMaxGradient          arg0  = (UnityEngine.ParticleSystem.MinMaxGradient)JSMgr.datax.getObject((int)JSApi.GetType.Arg);
         UnityEngine.ParticleSystem.ColorOverLifetimeModule _this = (UnityEngine.ParticleSystem.ColorOverLifetimeModule)vc.csObj;
         _this.color = arg0;
         JSMgr.changeJSObj(vc.jsObjID, _this);
     }
 }
 static void MinMaxGradient_colorMin(JSVCall vc)
 {
     if (vc.bGet)
     {
         UnityEngine.ParticleSystem.MinMaxGradient _this = (UnityEngine.ParticleSystem.MinMaxGradient)vc.csObj;
         var result = _this.colorMin;
         JSMgr.datax.setObject((int)JSApi.SetType.Rval, result);
     }
     else
     {
         UnityEngine.Color arg0 = (UnityEngine.Color)JSMgr.datax.getObject((int)JSApi.GetType.Arg);
         UnityEngine.ParticleSystem.MinMaxGradient _this = (UnityEngine.ParticleSystem.MinMaxGradient)vc.csObj;
         _this.colorMin = arg0;
         JSMgr.changeJSObj(vc.jsObjID, _this);
     }
 }
// fields

// properties
    static void MinMaxGradient_mode(JSVCall vc)
    {
        if (vc.bGet)
        {
            UnityEngine.ParticleSystem.MinMaxGradient _this = (UnityEngine.ParticleSystem.MinMaxGradient)vc.csObj;
            var result = _this.mode;
            JSApi.setEnum((int)JSApi.SetType.Rval, (int)result);
        }
        else
        {
            UnityEngine.ParticleSystemGradientMode    arg0  = (UnityEngine.ParticleSystemGradientMode)JSApi.getEnum((int)JSApi.GetType.Arg);
            UnityEngine.ParticleSystem.MinMaxGradient _this = (UnityEngine.ParticleSystem.MinMaxGradient)vc.csObj;
            _this.mode = arg0;
            JSMgr.changeJSObj(vc.jsObjID, _this);
        }
    }
    static int get_gradient(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.ParticleSystem.MinMaxGradient obj = (UnityEngine.ParticleSystem.MinMaxGradient)o;
            UnityEngine.Gradient ret = obj.gradient;
            ToLua.PushObject(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index gradient on a nil value"));
        }
    }
	static public int constructor(IntPtr l) {
		try {
			int argc = LuaDLL.lua_gettop(l);
			UnityEngine.ParticleSystem.MinMaxGradient o;
			if(matchType(l,argc,2,typeof(UnityEngine.Color))){
				UnityEngine.Color a1;
				checkType(l,2,out a1);
				o=new UnityEngine.ParticleSystem.MinMaxGradient(a1);
				pushValue(l,true);
				pushValue(l,o);
				return 2;
			}
			else if(matchType(l,argc,2,typeof(UnityEngine.Gradient))){
				UnityEngine.Gradient a1;
				checkType(l,2,out a1);
				o=new UnityEngine.ParticleSystem.MinMaxGradient(a1);
				pushValue(l,true);
				pushValue(l,o);
				return 2;
			}
			else if(matchType(l,argc,2,typeof(UnityEngine.Color),typeof(UnityEngine.Color))){
				UnityEngine.Color a1;
				checkType(l,2,out a1);
				UnityEngine.Color a2;
				checkType(l,3,out a2);
				o=new UnityEngine.ParticleSystem.MinMaxGradient(a1,a2);
				pushValue(l,true);
				pushValue(l,o);
				return 2;
			}
			else if(matchType(l,argc,2,typeof(UnityEngine.Gradient),typeof(UnityEngine.Gradient))){
				UnityEngine.Gradient a1;
				checkType(l,2,out a1);
				UnityEngine.Gradient a2;
				checkType(l,3,out a2);
				o=new UnityEngine.ParticleSystem.MinMaxGradient(a1,a2);
				pushValue(l,true);
				pushValue(l,o);
				return 2;
			}
			return error(l,"New object failed.");
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
    static int set_mode(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.ParticleSystem.MinMaxGradient obj  = (UnityEngine.ParticleSystem.MinMaxGradient)o;
            UnityEngine.ParticleSystemGradientMode    arg0 = (UnityEngine.ParticleSystemGradientMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.ParticleSystemGradientMode));
            obj.mode = arg0;
            ToLua.SetBack(L, 1, obj);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index mode on a nil value"));
        }
    }
    static int set_gradient(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.ParticleSystem.MinMaxGradient obj = (UnityEngine.ParticleSystem.MinMaxGradient)o;
            UnityEngine.Gradient arg0 = (UnityEngine.Gradient)ToLua.CheckObject <UnityEngine.Gradient>(L, 2);
            obj.gradient = arg0;
            ToLua.SetBack(L, 1, obj);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index gradient on a nil value"));
        }
    }
    static int set_color(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.ParticleSystem.MinMaxGradient obj = (UnityEngine.ParticleSystem.MinMaxGradient)o;
            UnityEngine.Color arg0 = ToLua.ToColor(L, 2);
            obj.color = arg0;
            ToLua.SetBack(L, 1, obj);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index color on a nil value"));
        }
    }
    private static UnityEngine.ParticleSystem.MinMaxGradient MergeColorAndAlpha(UnityEngine.ParticleSystem.MinMaxGradient startColor, UnityEngine.ParticleSystem.MinMaxCurve alpha)
    {
        UnityEngine.ParticleSystem.MinMaxGradient ret = startColor;
        if (startColor.mode == ParticleSystemGradientMode.Color && alpha.mode == ParticleSystemCurveMode.Constant)
        {
            ret = new UnityEngine.ParticleSystem.MinMaxGradient(new Color(startColor.color.r, startColor.color.g, startColor.color.b, alpha.constant));
        }
        else if (startColor.mode == ParticleSystemGradientMode.Color && alpha.mode == ParticleSystemCurveMode.Curve)
        {
            var alphaKeys = new GradientAlphaKey[alpha.curve.length];
            var colorKeys = new GradientColorKey[2];
            colorKeys[0].time  = 0.0f;
            colorKeys[1].time  = 1.0f;
            colorKeys[0].color = startColor.color;
            colorKeys[1].color = startColor.color;
            for (int i = 0; i < alphaKeys.Length; ++i)
            {
                alphaKeys[i].time  = alpha.curve.keys[i].time;
                alphaKeys[i].alpha = alpha.curve.keys[i].value;
            }
            var gradient = new Gradient();
            gradient.alphaKeys = alphaKeys;
            gradient.colorKeys = colorKeys;
            ret = new UnityEngine.ParticleSystem.MinMaxGradient(gradient);
        }
        else if (startColor.mode == ParticleSystemGradientMode.Gradient && alpha.mode == ParticleSystemCurveMode.Constant)
        {
            var alphaKeys = startColor.gradient.alphaKeys;
            for (int i = 0; i < alphaKeys.Length; ++i)
            {
                alphaKeys[i].alpha = alpha.constant;
            }
            var gradient = new Gradient();
            gradient.alphaKeys = alphaKeys;
            gradient.colorKeys = startColor.gradient.colorKeys;
            ret = new UnityEngine.ParticleSystem.MinMaxGradient(gradient);
        }
        else if (startColor.mode == ParticleSystemGradientMode.Gradient && alpha.mode == ParticleSystemCurveMode.Curve)
        {
            var alphaKeys = new GradientAlphaKey[alpha.curve.length];
            for (int i = 0; i < alphaKeys.Length; ++i)
            {
                alphaKeys[i].time  = alpha.curve.keys[i].time;
                alphaKeys[i].alpha = alpha.curve.keys[i].value;
            }
            var gradient = new Gradient();
            gradient.alphaKeys = alphaKeys;
            gradient.colorKeys = startColor.gradient.colorKeys;
            ret = new UnityEngine.ParticleSystem.MinMaxGradient(gradient);
        }
        else if (startColor.mode == ParticleSystemGradientMode.Color && alpha.mode == ParticleSystemCurveMode.TwoConstants)
        {
            Color origionColor = startColor.Evaluate(0.0f);
            Color min          = new Color(origionColor.r, origionColor.g, origionColor.b, alpha.constantMin);
            Color max          = new Color(origionColor.r, origionColor.g, origionColor.b, alpha.constantMax);
            ret = new UnityEngine.ParticleSystem.MinMaxGradient(min, max);
        }
        else if (startColor.mode == ParticleSystemGradientMode.TwoGradients && alpha.mode == ParticleSystemCurveMode.Constant)
        {
            var tmpmin    = startColor.gradientMin;
            var alphaKeys = tmpmin.alphaKeys;
            for (int i = 0; i < alphaKeys.Length; ++i)
            {
                alphaKeys[i].alpha = alpha.constant;
            }
            var min = new Gradient();
            min.alphaKeys = alphaKeys;
            min.colorKeys = tmpmin.colorKeys;

            var tmpmax = startColor.gradientMax;
            alphaKeys = tmpmax.alphaKeys;
            for (int i = 0; i < alphaKeys.Length; ++i)
            {
                alphaKeys[i].alpha = alpha.constant;
            }
            var max = new Gradient();
            max.alphaKeys = alphaKeys;
            max.colorKeys = tmpmax.colorKeys;

            ret = new UnityEngine.ParticleSystem.MinMaxGradient(min, max);
        }
        else
        {
            Debug.LogFormat("ParticleSystemGradientMode:{0},ParticleSystemCurveMode:{1}\t颜色和Alpha通道的合并未实现", startColor.mode, alpha.mode);
        }
        return(ret);
    }
Exemple #17
0
 static public int constructor(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         int argc = LuaDLL.lua_gettop(l);
         UnityEngine.ParticleSystem.MinMaxGradient o;
         if (matchType(l, argc, 2, typeof(UnityEngine.Color)))
         {
             UnityEngine.Color a1;
             checkType(l, 2, out a1);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (matchType(l, argc, 2, typeof(UnityEngine.Gradient)))
         {
             UnityEngine.Gradient a1;
             checkType(l, 2, out a1);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (matchType(l, argc, 2, typeof(UnityEngine.Color), typeof(UnityEngine.Color)))
         {
             UnityEngine.Color a1;
             checkType(l, 2, out a1);
             UnityEngine.Color a2;
             checkType(l, 3, out a2);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1, a2);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (matchType(l, argc, 2, typeof(UnityEngine.Gradient), typeof(UnityEngine.Gradient)))
         {
             UnityEngine.Gradient a1;
             checkType(l, 2, out a1);
             UnityEngine.Gradient a2;
             checkType(l, 3, out a2);
             o = new UnityEngine.ParticleSystem.MinMaxGradient(a1, a2);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (argc == 0)
         {
             o = new UnityEngine.ParticleSystem.MinMaxGradient();
             pushValue(l, true);
             pushObject(l, o);
             return(2);
         }
         return(error(l, "New object failed."));
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }