我正在尝试将一些代码从旧版本的程序移植到新版本,并且有些东西已经移动。有一个名为“Game”的类,它曾经包含一个名为 ButtonNameToIndex 的方法,但在较新的版本中,Game 类中现在有一个名为“InputScheme”的类,并且在 InputScheme 中声明了 ButtonNameToIndex
游戏.h:
class Game
{
public:
const char * m_szName;
const Style * const* m_apStyles;
bool m_bCountNotesSeparately;
bool m_bAllowHopos;
InputScheme m_InputScheme;
}
输入方案.h:
class InputScheme
{
public:
const char *m_szName;
int m_iButtonsPerController;
struct GameButtonInfo
{
const char *m_szName;
GameButton m_SecondaryMenuButton;
};
GameButtonInfo m_GameButtonInfo[NUM_GameButton];
const InputMapping *m_Maps;
GameButton ButtonNameToIndex( const RString &sButtonName ) const;
}
我试图移植的代码如下所示:
FOREACH_ENUM( GameButton, pGame->ButtonNameToIndex("Operator"), gb )
ini.SetValue( sPlayerKey, GameButtonToString(pGame, gb),
FromMapping(mapping.m_iGameLights[gc][gb]) );
现在我无法弄清楚如何访问 ButtonNameToIndex ,因为它已移至一个新类。