示例#1
0
 // Token: 0x06001774 RID: 6004 RVA: 0x00058040 File Offset: 0x00056240
 protected override bool OpenData(out global::BobEffect.Data data)
 {
     if (!this.glob.valid)
     {
         data = null;
         return(false);
     }
     data        = new global::BobPunchEffect.PunchData();
     data.effect = this;
     return(true);
 }
示例#2
0
 // Token: 0x06001776 RID: 6006 RVA: 0x0005806C File Offset: 0x0005626C
 protected override global::BOBRES SimulateData(ref global::BobEffect.Context ctx)
 {
     if (ctx.dt == 0.0)
     {
         return(global::BOBRES.CONTINUE);
     }
     global::BobPunchEffect.PunchData punchData = (global::BobPunchEffect.PunchData)ctx.data;
     if (punchData.time >= this.glob.endTime)
     {
         return(global::BOBRES.EXIT);
     }
     if (punchData.time >= this.glob.endTime)
     {
         return(global::BOBRES.EXIT);
     }
     if (this.x.valid)
     {
         if (this.x.constant || punchData.time <= this.x.startTime)
         {
             punchData.force.x = (double)this.x.startValue;
         }
         else if (punchData.time >= this.x.endValue)
         {
             punchData.force.x = (double)this.x.endValue;
         }
         else
         {
             punchData.force.x = (double)this.x.curve.Evaluate(punchData.time);
         }
     }
     if (this.y.valid)
     {
         if (this.y.constant || punchData.time <= this.y.startTime)
         {
             punchData.force.y = (double)this.y.startValue;
         }
         else if (punchData.time >= this.y.endValue)
         {
             punchData.force.y = (double)this.y.endValue;
         }
         else
         {
             punchData.force.y = (double)this.y.curve.Evaluate(punchData.time);
         }
     }
     if (this.z.valid)
     {
         if (this.z.constant || punchData.time <= this.z.startTime)
         {
             punchData.force.z = (double)this.z.startValue;
         }
         else if (punchData.time >= this.z.endValue)
         {
             punchData.force.z = (double)this.z.endValue;
         }
         else
         {
             punchData.force.z = (double)this.z.curve.Evaluate(punchData.time);
         }
     }
     if (this.pitch.valid)
     {
         if (this.pitch.constant || punchData.time <= this.pitch.startTime)
         {
             punchData.torque.x = (double)this.pitch.startValue;
         }
         else if (punchData.time >= this.pitch.endValue)
         {
             punchData.torque.x = (double)this.pitch.endValue;
         }
         else
         {
             punchData.torque.x = (double)this.pitch.curve.Evaluate(punchData.time);
         }
     }
     if (this.yaw.valid)
     {
         if (this.yaw.constant || punchData.time <= this.yaw.startTime)
         {
             punchData.torque.y = (double)this.yaw.startValue;
         }
         else if (punchData.time >= this.yaw.endValue)
         {
             punchData.torque.y = (double)this.yaw.endValue;
         }
         else
         {
             punchData.torque.y = (double)this.yaw.curve.Evaluate(punchData.time);
         }
     }
     if (this.roll.valid)
     {
         if (this.roll.constant || punchData.time <= this.roll.startTime)
         {
             punchData.torque.z = (double)this.roll.startValue;
         }
         else if (punchData.time >= this.roll.endValue)
         {
             punchData.torque.z = (double)this.roll.endValue;
         }
         else
         {
             punchData.torque.z = (double)this.roll.curve.Evaluate(punchData.time);
         }
     }
     punchData.time += (float)ctx.dt;
     return(global::BOBRES.CONTINUE);
 }