public override void Update(IFrameUpdateData frameData) { ypos = ypos * 0.9f + 0.1f * ypostarget; if (Math.Abs(ypos - ypostarget) < 0.0005) { ypos = ypostarget; } UpdateView(); base.Update(frameData); }
public override void Update(IFrameUpdateData frameData) { if (UpdateInvisibleComponents) { base.Update(frameData); } else { (CurrentComponent as IUpdateable)?.Update(frameData); } }
public void Update(IFrameUpdateData frameData) { }
public virtual void Update(IFrameUpdateData frameData) { Components.Update(frameData); }
public void Update(IFrameUpdateData frameData) { double time = frameData.Time; if (time < 0.0001) { time = 0.0001; } // mouse look if ( ViewEnable && ( (LookMode == LookModeEnum.Always) || (LookMode == LookModeEnum.Mouse1 && Mouse[MouseButton.Left]) || (LookMode == LookModeEnum.Mouse2 && Mouse[MouseButton.Right]) ) ) { int mouseX = Mouse.X, mouseY = Mouse.Y; if (prevMouseX <= -10000 || !previousViewMouseButton) { prevMouseX = mouseX; } if (prevMouseY <= -10000 || !previousViewMouseButton) { prevMouseY = mouseY; } //int deltaX = (this.Width / 2) - mouseX; //int deltaY = (this.Height / 2) - mouseY; int deltaX = mouseX - prevMouseX; int deltaY = mouseY - prevMouseY; IsMouseMoving = (IsMouseMoving || deltaX != 0 || deltaY != 0); this.AngleLeftRight += (float)deltaX * -0.01f; this.AngleUpDown += (float)deltaY * -0.01f; prevMouseX = mouseX; prevMouseY = mouseY; } if (LookMode == LookModeEnum.Mouse1) { previousViewMouseButton = Mouse[MouseButton.Left]; } if (LookMode == LookModeEnum.Mouse2) { previousViewMouseButton = Mouse[MouseButton.Right]; } // keyboard move float speed = (float)(this.MovementSpeed * time); float speedmul = this.Keyboard[Key.ShiftLeft] ? 1.0f : 0.1f; speed *= speedmul; var pos = this.Position; if (this.Keyboard[Key.W]) { pos.X += (float)(Math.Cos(this.AngleLeftRight) * speed); pos.Z += (float)(Math.Sin(this.AngleLeftRight) * speed); this.IsMoving = true; } if (this.Keyboard[Key.S]) { pos.X -= (float)(Math.Cos(this.AngleLeftRight) * speed); pos.Z -= (float)(Math.Sin(this.AngleLeftRight) * speed); this.IsMoving = true; } if (this.Keyboard[Key.A]) { pos.X += (float)(Math.Cos(this.AngleLeftRight + Math.PI * 0.5) * speed); pos.Z += (float)(Math.Sin(this.AngleLeftRight + Math.PI * 0.5) * speed); this.IsMoving = true; } if (this.Keyboard[Key.D]) { pos.X += (float)(Math.Cos(this.AngleLeftRight + Math.PI * 1.5) * speed); pos.Z += (float)(Math.Sin(this.AngleLeftRight + Math.PI * 1.5) * speed); this.IsMoving = true; } if (this.Keyboard[Key.F]) { this.EyeHeight += this.MovementSpeed * speedmul * (float)time; this.IsMoving = true; } if (this.Keyboard[Key.V]) { this.EyeHeight -= this.MovementSpeed * speedmul * (float)time; this.IsMoving = true; } this.Position = pos; }