private void ScriptHandlerOnScriptActionRaised(object sender, ScriptActionEventArgs eventArgs) { if (eventArgs.RawCurrentAction is RawScriptAction) { HandleRawScriptAction(eventArgs.Cast <RawScriptAction>()); } else if (eventArgs.RawCurrentAction is FunScriptAction) { HandleFunScriptAction(eventArgs.Cast <FunScriptAction>()); } }
private void HandleFunScriptAction(ScriptActionEventArgs <FunScriptAction> eventArgs) { if (eventArgs.NextAction == null) { return; } eventArgs.CurrentAction.Position = TransformPosition(eventArgs.CurrentAction.Position); eventArgs.NextAction.Position = TransformPosition(eventArgs.NextAction.Position); byte position = eventArgs.NextAction.Position; TimeSpan duration = eventArgs.NextAction.TimeStamp - eventArgs.CurrentAction.TimeStamp; byte speed = SpeedPredictor.Predict2((byte)Math.Abs(eventArgs.CurrentAction.Position - position), duration); SetLaunch(position, speed); }
private void HandleRawScriptAction(ScriptActionEventArgs <RawScriptAction> eventArgs) { SetLaunch(eventArgs.CurrentAction.Position, eventArgs.CurrentAction.Speed); }