public void Finish(Guid id, int[] iframe) { ComputationRequest request = null; lock (_Sync) { if (_Package == null) { return; } request = _Package.Finish(id, iframe); if (request == null) { return; } byte[] buffer = new byte[iframe.Length * sizeof(int)]; Buffer.BlockCopy(iframe, 0, buffer, 0, buffer.Length); File.WriteAllBytes(GetPartialFramePath(Name, _FrameCount, request), buffer); } if (_Package.IsDone) { FrameFinished?.Invoke(this, _Package.Frame); } else { FrameChanged?.Invoke(this, new EventArgs()); } }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (lastFrame == startTime) { return; } if (e.Button == MouseButtons.Left) { timer.Enabled = (e.X <20 + margin || e.X> Width - 20); Locked = true; currentFrame = Math.Min(Math.Max(startTime, (int)Math.Round(((e.X - 20 - margin) * (frameRight - frameLeft) / (Width - 40 - margin) + frameLeft))), lastFrame); FrameChanged?.Invoke(this, new EventArgs()); Refresh(); } else if (e.Button == MouseButtons.Right) { double delta = (e.X - lastMousePos.X) * (frameRight - frameLeft) / (Width - 40 - margin); frameLeft -= delta; frameRight -= delta; ResolveCollision(); Refresh(); } lastMousePos = e.Location; }
/// <summary> /// Update method for objects that do not move. /// </summary> public void Update() { FindHighestPriorityAnimation(); if (_frameTimer.TimeElapsedInMilliSeconds > _currentAnimationData.Speed) { _frameTimer.Reset(); _currentFrame++; if (_currentFrame >= _currentAnimationData.FrameCount) { AnimationEnded?.Invoke(); // Send notice that animation has ended. if (!_currentAnimationData.IsRepeating) { _currentFrame = _currentAnimationData.FrameCount - 1; } else { _currentFrame = 0; } } FrameChanged?.Invoke(new FrameArgs(_currentFrame)); } _sourceRectangle.X = _currentFrame * _currentAnimationData.Width; }
/// <summary> /// Evento que obtém dados relativos aos Frames disponibilizados pelo Sensor Kinect /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void KinectFramesReady(object sender, AllFramesReadyEventArgs e) { byte[] imagem = Util.ObterImagemSensorRGB(e.OpenColorImageFrame()); if (imagem != null) { FrameChanged?.Invoke(GetImage(imagem), e.OpenSkeletonFrame().Validation()); } GameFrames?.Invoke(this, e); }
/// <summary> /// Updates the runtime context <see cref="ScriptVideoContextBase.FrameNumber"/> and <see cref="ScriptVideoContextBase.VideoPosition"/> property values /// and raises the <see cref="FrameChanged"/> and <see cref="SurfaceRendered"/> events. /// </summary> /// <param name="frameNumber">The current zero-based frame number of the video.</param> protected void OnFrameChanged(int frameNumber) { var internalContext = InternalContext; int previousFrameNumber = internalContext.FrameNumber; internalContext.SetFrameNumberInternal(frameNumber); internalContext.RefreshVideoPositionInternal(); FrameChanged?.Invoke(this, new FrameChangedEventArgs(previousFrameNumber, frameNumber)); SurfaceRendered?.Invoke(this, new SurfaceRenderedEventArgs(SurfaceRenderPipeline.Both)); }
/// <summary> /// Update the aniamtion, timers and fire events. /// </summary> /// <param name="entity"></param> public void Update(Entity entity) { //SpeedParticle speed = new SpeedParticle(texture, drawRectangle.X, drawRectangle.Y, sourceRectangle, entity.IsFacingRight); //GameWorld.ParticleSystem.Add(speed); FindHighestPriorityAnimation(); UpdatePositionOnly(entity); if (_currentName == "walk" || _currentName == "run") { // y = 1020/(x + 1) - 20 _currentAnimationData.Speed = (int)(-20 + 500f / (Math.Abs(entity.GetVelocity().X) + 1)); } if (_currentName == "climb") { _currentAnimationData.Speed = (int)(-20 + 500f / (Math.Abs(entity.GetVelocity().Y) + 1)); if (Math.Abs(entity.GetVelocity().Y) < .1f) { _currentAnimationData.Speed = Int32.MaxValue; } } if (_frameTimer.TimeElapsedInMilliSeconds > _currentAnimationData.Speed) { _frameTimer.Reset(); _currentFrame++; if (_currentFrame >= _currentAnimationData.FrameCount) { AnimationEnded?.Invoke(); // Send notice that animation has ended. if (!_currentAnimationData.IsRepeating) { _currentFrame = _currentAnimationData.FrameCount - 1; } else { _currentFrame = 0; } } FrameChanged?.Invoke(new FrameArgs(_currentFrame)); } _sourceRectangle.X = _currentFrame * _currentAnimationData.Width; }
public void Update(GameTime time) { screenTime += (float)time.ElapsedGameTime.TotalSeconds; if (screenTime * 1000 > Duration) { index++; screenTime = 0; if (index >= Length) { if (IsLooped) { index %= Length; } else { index = Length - 1; } } FrameChanged?.Invoke(index); } }
private void Timer_Tick(object sender, EventArgs e) { double step; if (lastMousePos.X < 20 + margin) { step = (20 + margin - lastMousePos.X) * (frameRight - frameLeft) / Width; frameLeft -= step; frameRight -= step; #region resolve collsions if (frameLeft < startTime) { frameRight -= frameLeft; frameLeft = startTime; } #endregion } else { step = (lastMousePos.X - Width + 20) * (frameRight - frameLeft) / Width; frameLeft += step; frameRight += step; #region resolve collsions if (frameRight > lastFrame) { frameLeft += lastFrame - frameRight; frameRight = lastFrame; } #endregion } currentFrame = Math.Min(Math.Max(startTime, (int)Math.Round(((lastMousePos.X - 20 - margin) * (frameRight - frameLeft) / (Width - 40 - margin) + frameLeft))), lastFrame); FrameChanged?.Invoke(this, new EventArgs()); Refresh(); }
internal void NotifyFrameChanged(AnimationEntityDrawer animationEntityDrawer) { FrameChanged?.Invoke(animationEntityDrawer); }
public void SetFrame(StackFrame frame) { _currentStackFrame = frame; FrameChanged?.Invoke(this, new EventArgs()); }
public void SetFrame(StackFrame frame) { _currentStackFrame = frame; FrameChanged?.Invoke(this, EventArgs.Empty); }
public static void OnFrameChanged() { FrameChanged?.Invoke(); }
private void EhFrameChanged(object sender, SelectionChangedEventArgs e) { GuiHelper.SynchronizeSelectionFromGui(_guiFrame); FrameChanged?.Invoke(((SelectableListNode)_guiFrame.SelectedValue).Tag as Type); }
private static void OnFrameChanged() { FrameChanged?.Invoke(); }
public void Reset() { screenTime = 0; index = 0; FrameChanged?.Invoke(index); }
private void OnFrameChanged() { FrameChanged?.Invoke(this, EventArgs.Empty); }