private void Fire(PressingActionArgs args) { if (hologramRecording) { return; } Weapon weapon = getWeapon(); if (weapon == null) { return; } weapon.shoot(); }
private void Move(PressingActionArgs args) { float speed; Rigidbody rigidbody = Owner.GetComponent <Rigidbody>(); float delta = (float)args.gameTime.ElapsedGameTime.TotalSeconds; switch (movement) { case Movement.WALK: speed = walkSpeed; break; case Movement.RUN: speed = runSpeed; break; case Movement.CROUCH: speed = crouchSpeed; break; default: speed = 0.0f; break; } Vector3 direction; switch (args.action) { case GameAction.MOVE_FORWARD: direction = Owner.LocalToWorldMatrix.Forward; break; case GameAction.MOVE_BACKWARD: direction = Owner.LocalToWorldMatrix.Backward; break; case GameAction.STRAFE_LEFT: direction = Owner.LocalToWorldMatrix.Left; break; case GameAction.STRAFE_RIGHT: direction = Owner.LocalToWorldMatrix.Right; break; default: direction = Vector3.Zero; break; } direction.Y = 0; direction.Normalize(); if (rigidbody != null && (rigidbody.IsGrounded || !rigidbody.GravityEnabled) && Vector3.Dot(rigidbody.Velocity, direction) < speed) { rigidbody.AddForce(rigidbody.Mass * 5 * (speed - rigidbody.Velocity.Length()) * direction); } }
private void UpTemp(PressingActionArgs args) { Owner.LocalPosition = Owner.LocalPosition + 100 * (float)args.gameTime.ElapsedGameTime.TotalSeconds * Vector3.UnitY; }