//--------------------------------------------------------------------------------------
// Copyright (C) 2008 http://shift.delblanco.es
//--------------------------------------------------------------------------------------
// SHIFT Videogame is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by the
// Free Software Foundation, either version 3 of the License, or later version.
//
// This program is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
//--------------------------------------------------------------------------------------
/// \file PlayerLocal.h
/// Para manejar los jugadores de la escena de tipo local.
/// Este módulo incorpora las operaciones para manejar un vehículo por medio
/// de dispositivos locales, como el teclado
//--------------------------------------------------------------------------------------
#pragma once
#ifndef __CPLAYERLOCAL_H__
#define __CPLAYERLOCAL_H__

//--------------------------------------------------------------------------------------
// Ficheros de cabecera
//--------------------------------------------------------------------------------------
#include "Player.h"

//--------------------------------------------------------------------------------------
// Constantes
//--------------------------------------------------------------------------------------
// Tipos de jugadores locales
#define     PLAYERLOCAL_1          1     ///< Jugador principal
#define     PLAYERLOCAL_2          2     ///< Jugador adicional

//--------------------------------------------------------------------------------------
/// Clase hija de CPlayer para manejar los jugadores de tipo local
//--------------------------------------------------------------------------------------
class CPlayerLocal : public CPlayer
{

private:  // Campos miembro

    int				m_iType;						///< Tipo de jugador local, 1 o 2

public: // Métodos públicos

    /// Constructor
    CPlayerLocal();
    /// Destructor
    ~CPlayerLocal();

    /// Inicializa el jugador local
    bool initialize(LPCWSTR dName, LPCWSTR dPathVehicle, C3DObject *dParent, int dType);
    /// Actualiza el jugador local
    void update();

    /// Funcion observadora del tipo de jugador
    int getType()                           {return m_iType;}

};

#endif
