PlayerNumber is a simple, regular data structure, and is depended on

by lower level things (eg. InputMapper).  However, concepts like
"joined players" and "human players" is a high-level, GAMESTATE
concept, and engine stuff shouldn't depend on that.  Move the
GameState-depending stuff into GameState.  Move
IsAnyPlayerUsingMemoryCard as well (and rename to HumanPlayer),
to fix MemoryCardManager dep.
This commit is contained in:
Glenn Maynard
2006-11-21 01:32:05 +00:00
parent 54de64a524
commit 70d2d0dbc7
6 changed files with 68 additions and 68 deletions
-41
View File
@@ -1,6 +1,5 @@
#include "global.h"
#include "PlayerNumber.h"
#include "GameState.h"
#include "LuaManager.h"
#include "LocalizedString.h"
@@ -54,46 +53,6 @@ LuaFunction( MultiPlayerToLocalizedString, MultiPlayerToLocalizedString(Enum::Ch
LuaXType( MultiPlayer );
PlayerNumber GetNextHumanPlayer( PlayerNumber pn )
{
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( GAMESTATE->IsHumanPlayer(pn) )
return pn;
return PLAYER_INVALID;
}
PlayerNumber GetNextEnabledPlayer( PlayerNumber pn )
{
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( GAMESTATE->IsPlayerEnabled(pn) )
return pn;
return PLAYER_INVALID;
}
PlayerNumber GetNextCpuPlayer( PlayerNumber pn )
{
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( GAMESTATE->IsCpuPlayer(pn) )
return pn;
return PLAYER_INVALID;
}
PlayerNumber GetNextPotentialCpuPlayer( PlayerNumber pn )
{
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( !GAMESTATE->IsHumanPlayer(pn) )
return pn;
return PLAYER_INVALID;
}
MultiPlayer GetNextEnabledMultiPlayer( MultiPlayer mp )
{
for( enum_add(mp, 1); mp < NUM_MultiPlayer; enum_add(mp, 1) )
if( GAMESTATE->IsMultiPlayerEnabled(mp) )
return mp;
return MultiPlayer_Invalid;
}
/*
* (c) 2001-2004 Chris Danford, Chris Gomez
* All rights reserved.