コード例 #1
0
ファイル: PlayerDriver.cs プロジェクト: q4a/OpenC1
        public void Update()
        {
            VehicleChassis chassis = Vehicle.Chassis;

            if (PlayerVehicleController.Brake != 0)
            {
                chassis.Brake(PlayerVehicleController.Brake);
            }
            else
            {
                chassis.Accelerate(PlayerVehicleController.Acceleration);
            }

            chassis.Steer(-PlayerVehicleController.Turn);

            if (PlayerVehicleController.Handbrake)
            {
                chassis.PullHandbrake();
            }
            else
            {
                chassis.ReleaseHandbrake();
            }

            if (GameEngine.Input.WasPressed(Keys.R) || GameEngine.Input.WasPressed(Buttons.B))
            {
                if (_recoverPositions.Count > 0)
                {
                    Vehicle.Recover(_recoverPositions[_recoverPositions.Count - 1]);
                    _recoverPositions.RemoveAt(_recoverPositions.Count - 1);
                }
                else
                {
                    Vehicle.Chassis.Reset();
                }
            }

            if (GameEngine.Input.WasPressed(Keys.Back) || GameEngine.Input.WasPressed(Buttons.Back))
            {
                Vehicle.Repair();
            }

            _audioListener.BeginUpdate();
            _audioListener.Position    = Vehicle.Chassis.Actor.GlobalPosition;
            _audioListener.Orientation = Vehicle.Chassis.Actor.GlobalOrientation;
            _audioListener.Velocity    = Vector3.Zero;
            _audioListener.CommitChanges();

            if (GameEngine.TotalSeconds > _lastRecoverTime + 5)
            {
                _recoverPositions.Add(Vehicle.Chassis.Actor.GlobalPose);
                if (_recoverPositions.Count > 10)
                {
                    _recoverPositions.RemoveAt(0);
                }

                _lastRecoverTime = GameEngine.TotalSeconds;
            }
        }
コード例 #2
0
ファイル: Driver.cs プロジェクト: lucschuttel/openc1
 public void Update()
 {
     _audioListener.BeginUpdate();
     _audioListener.Position    = Position;
     _audioListener.Orientation = Orientation;
     _audioListener.Velocity    = Velocity;
     _audioListener.CommitChanges();
 }