// 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); }
// 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); }