public override bool GetBulletPara(BulletParaType paraType, out float value) { switch (paraType) { case BulletParaType.Velocity: value = _movableObj.velocity; return(true); case BulletParaType.VAngel: value = _movableObj.vAngle; return(true); case BulletParaType.Acce: value = _movableObj.acce; return(true); case BulletParaType.AccAngle: value = _movableObj.accAngle; return(true); case BulletParaType.Alpha: value = _curAlpha; return(true); } value = 0; return(false); }
public override bool GetBulletPara(BulletParaType paraType, out float value) { float returnValue; if (base.GetBulletPara(paraType, out returnValue)) { value = returnValue; return(true); } switch (paraType) { case BulletParaType.Alpha: value = _curAlpha; return(true); case BulletParaType.ScaleX: value = _scaleX; return(true); case BulletParaType.ScaleY: value = _scaleY; return(true); } value = 0; return(false); }
/// <summary> /// 使用组件进行移动参数变更, /// <para>具体参数参考AddParaChangeEvent方法</para> /// <para>bullet</para> /// <para>para MovePara</para> /// <para>changeMode 改变方式 ChangeTo,IncBy,DecBy,ChangeTo</para> /// <para>valueType 参数类型</para> /// <para>arg0 参数0</para> /// <para>arg1 参数1</para> /// <para>valueOffset 随机偏移量</para> /// <para>delay 起始延迟</para> /// <para>duration 变化持续时间</para> /// <para>intMode 插值方式</para> /// <para>repeatCount 重复次数</para> /// <para>repeatInterval 每次重复的间隔</para> /// <para>总计12个参数</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int AddBulletParaChangeEvent(ILuaState luaState) { EnemyBulletBase bullet = luaState.ToUserData(-12) as EnemyBulletBase; BulletParaType para = (BulletParaType)luaState.ToInteger(-11); ParaChangeMode changeMode = (ParaChangeMode)luaState.ToInteger(-10); int valueType = luaState.ToInteger(-9); float arg0 = (float)luaState.ToNumber(-8); float arg1 = (float)luaState.ToNumber(-7); float valueOffset = (float)luaState.ToNumber(-6); int delay = luaState.ToInteger(-5); int duration = luaState.ToInteger(-4); InterpolationMode intMode = (InterpolationMode)luaState.ToInteger(-3); int repeatCount = luaState.ToInteger(-2); int repeatInterval = luaState.ToInteger(-1); BCParasChange bc = bullet.AddOrGetComponent <BCParasChange>(); ParaChangeValue changeValue = new ParaChangeValue { argType = valueType, arg0 = arg0, arg1 = arg1, offset = valueOffset, }; bc.AddParaChangeEvent(para, changeMode, changeValue, delay, duration, intMode, repeatCount, repeatInterval); return(0); }
public override bool GetBulletPara(BulletParaType paraType, out float value) { value = 0; switch (paraType) { case BulletParaType.Velocity: value = _curVelocity; return(true); case BulletParaType.Vx: value = _vx; return(true); case BulletParaType.Vy: value = _vy; return(true); case BulletParaType.VAngel: value = _curVAngle; return(true); case BulletParaType.Acce: value = _curAcce; return(true); case BulletParaType.AccAngle: value = _curAccAngle; return(true); case BulletParaType.MaxVelocity: value = _maxVelocity; return(true); case BulletParaType.CurveAngle: value = _curCurveAngle; return(true); case BulletParaType.CurveRadius: value = _curRadius; return(true); case BulletParaType.CurveDeltaR: value = _deltaRadius; return(true); case BulletParaType.CurveOmega: value = _curOmega; return(true); case BulletParaType.CurveCenterX: value = _centerPos.x; return(true); case BulletParaType.CurveCenterY: value = _centerPos.y; return(true); } return(false); }
public override bool SetBulletPara(BulletParaType paraType, float value) { switch (paraType) { case BulletParaType.Velocity: Velocity = value; return(true); case BulletParaType.Vx: Vx = value; return(true); case BulletParaType.Vy: Vy = value; return(true); case BulletParaType.VAngel: VAngle = value; return(true); case BulletParaType.Acce: Acce = value; return(true); case BulletParaType.AccAngle: AccAngle = value; return(true); case BulletParaType.MaxVelocity: MaxVelocity = value; return(true); case BulletParaType.CurveAngle: CurveAngle = value; return(true); case BulletParaType.CurveRadius: CurveRadius = value; return(true); case BulletParaType.CurveDeltaR: CurveDeltaRadius = value; return(true); case BulletParaType.CurveOmega: CurveOmega = value; return(true); case BulletParaType.CurveCenterX: _centerPos.x = value; return(true); case BulletParaType.CurveCenterY: _centerPos.y = value; return(true); } return(false); }
private BulletParasChangeData CreateChangeData(BulletParaType paraType, InterpolationMode intMode) { BulletParasChangeData changeData = ObjectsPool.GetInstance().GetPoolClassAtPool <BulletParasChangeData>(); changeData.paraType = paraType; changeData.mode = intMode; changeData.GetInterpolationValueFunc = MathUtil.GetInterpolationFloatFunc(changeData.mode); return(changeData); }
/// <summary> /// 设置子弹的属性 /// <para>bullet</para> /// <para>BulletParaType paraType</para> /// <para>float value</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBulletPara(ILuaState luaState) { EnemyBulletBase bullet = luaState.ToUserData(-3) as EnemyBulletBase; BulletParaType paraType = (BulletParaType)luaState.ToInteger(-2); float value = (float)luaState.ToNumber(-1); luaState.Pop(3); bullet.SetBulletPara(paraType, value); return(0); }
/// <summary> /// 获取子弹的属性 /// <para>bullet</para> /// <para>BulletParaType paraType</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int GetBulletPara(ILuaState luaState) { EnemyBulletBase bullet = luaState.ToUserData(-2) as EnemyBulletBase; BulletParaType paraType = (BulletParaType)luaState.ToInteger(-1); luaState.Pop(2); float value; if (bullet.GetBulletPara(paraType, out value)) { luaState.PushNumber(value); return(1); } Logger.LogWarn("BulletPara " + paraType + " in " + bullet.Type + " is not exist!"); return(0); }
public override bool SetBulletPara(BulletParaType paraType, float value) { switch (paraType) { case BulletParaType.Alpha: SetAlpha(value); return true; case BulletParaType.LaserLength: SetLength(value); return true; case BulletParaType.LaserWidth: SetWidth(value); return true; case BulletParaType.CurveOmega: _laserRotateOmega = value; return true; } return false; }
public override bool GetBulletPara(BulletParaType paraType, out float value) { switch (paraType) { case BulletParaType.Velocity: value = _movableObj.velocity; return(true); case BulletParaType.VAngel: value = _movableObj.vAngle; return(true); case BulletParaType.Acce: value = _movableObj.acce; return(true); case BulletParaType.AccAngle: value = _movableObj.accAngle; return(true); case BulletParaType.CurveRadius: value = _movableObj.curveRadius; return(true); case BulletParaType.CurveAngle: value = _movableObj.curveAngle; return(true); case BulletParaType.CurveDeltaR: value = _movableObj.curveDeltaRadius; return(true); case BulletParaType.CurveOmega: value = _movableObj.curveOmega; return(true); case BulletParaType.MaxVelocity: value = _movableObj.maxVelocity; return(true); } value = 0; return(false); }
public override bool SetBulletPara(BulletParaType paraType, float value) { switch (paraType) { case BulletParaType.Velocity: _movableObj.velocity = value; return(true); case BulletParaType.VAngel: _movableObj.vAngle = value; return(true); case BulletParaType.Acce: _movableObj.acce = value; return(true); case BulletParaType.AccAngle: _movableObj.accAngle = value; return(true); case BulletParaType.CurveRadius: _movableObj.curveRadius = value; return(true); case BulletParaType.CurveAngle: _movableObj.curveAngle = value; return(true); case BulletParaType.CurveDeltaR: _movableObj.curveDeltaRadius = value; return(true); case BulletParaType.CurveOmega: _movableObj.curveOmega = value; return(true); case BulletParaType.MaxVelocity: _movableObj.maxVelocity = value; return(true); } return(false); }
public override bool GetBulletPara(BulletParaType paraType, out float value) { value = 0; switch (paraType) { case BulletParaType.Alpha: value = _curAlpha; return true; case BulletParaType.LaserLength: value = _curLength; return true; case BulletParaType.LaserWidth: value = _curWidth; return true; case BulletParaType.CurveOmega: value = _laserRotateOmega; return true; } return false; }
/// <summary> /// 添加改变参数的事件 /// </summary> /// <param name="para">参数类型</param> /// <param name="changeMode">改变的模式,(增加到、减少到、变化到)</param> /// <param name="changeValue">改变的值</param> /// <param name="valueOffset">改变的值的上下偏移</param> /// <param name="delay">延迟</param> /// <param name="duration">变化的持续时间</param> /// <param name="intMode">变化的插值方式</param> /// <param name="repeatCount">重复次数</param> /// <param name="repeatInterval">重复的时间间隔</param> public void AddParaChangeEvent(BulletParaType para, ParaChangeMode changeMode, ParaChangeValue value, int delay, float duration, InterpolationMode intMode, int repeatCount, int repeatInterval) { BulletParasChangeData changeData = CreateChangeData(para, intMode); changeData.changeMode = changeMode; changeData.changeValue = value; changeData.delay = delay; changeData.changeTime = 0; // duration小于等于0时默认设置为1,以免报错 if (duration <= 0) { duration = 1; } changeData.changeDuration = duration; changeData.repeatCount = repeatCount; changeData.repeatInterval = repeatInterval; _changeList.Add(changeData); _listCount++; }
public override bool SetBulletPara(BulletParaType paraType, float value) { switch (paraType) { case BulletParaType.Velocity: { _movableObj.velocity = value; return(true); } case BulletParaType.VAngel: if (!_isInitAngle) { _movableObj.vAngle = value; _isInitAngle = true; } return(true); case BulletParaType.Acce: { _movableObj.acce = value; return(true); } case BulletParaType.AccAngle: if (!_isInitAngle) { _movableObj.accAngle = value; _isInitAngle = true; } return(true); case BulletParaType.Alpha: SetAlpha(value); return(true); } value = 0; return(false); }
public override bool SetBulletPara(BulletParaType paraType, float value) { if (base.SetBulletPara(paraType, value)) { return(true); } switch (paraType) { case BulletParaType.Alpha: SetAlpha(value); return(true); case BulletParaType.ScaleX: SetScaleX(value); return(true); case BulletParaType.ScaleY: SetScaleY(value); return(true); } return(false); }
public virtual bool GetBulletPara(BulletParaType paraType, out float value) { throw new System.NotImplementedException(); }