Exemple #1
0
 void    DoMove()
 {
     mCP.Move(mSpeed);
     if (!mSeeGround || mBlocked)
     {
         mCP.Turn(mRotateSpeed);
     }
 }
        void    MoveGene(int vGene)
        {
            switch (mDNA.GetGene(vGene))
            {
            case    DNA.Gene.Forward:
                mCP.Move(Speed);
                mDistanceCovered += 1.0f;
                break;

            case    DNA.Gene.TurnLeft:
                mCP.Turn(Angle);
                break;

            case DNA.Gene.TurnRight:
                mCP.Turn(-Angle);
                break;

            default:
                break;
            }
        }
Exemple #3
0
    private void Update()
    {
        Vector3 targetDirection;

        //read input:
        float forward = input.Forward;
        float strafe  = input.Strafe;
        bool  run     = input.Run;
        bool  jump    = input.Jump;
        bool  seat    = input.Seat;
        bool  use     = input.Use;

        //read physics
        bool grounded = physics.IsGrounded;


        //read camera

        targetDirection = view.LookDirection;
        //camera update:


        //animate:
        actor.lookDirection = targetDirection;
        actor.strafe        = strafe;
        actor.forward       = forward;

        actor.grounded = grounded;
        actor.seat     = seat;
        actor.run      = run;
        actor.jump     = jump;
        actor.Update();

        //move & steer:
        Quaternion steering = actor.GetSteering();
        Vector3    movement = actor.GetMovement();

        physics.Move(movement, steering);

        if (use)
        {
            interaction.Use();
        }
    }