本文整理汇总了C++中Map::ChangeMap方法的典型用法代码示例。如果您正苦于以下问题:C++ Map::ChangeMap方法的具体用法?C++ Map::ChangeMap怎么用?C++ Map::ChangeMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Map
的用法示例。
在下文中一共展示了Map::ChangeMap方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AdvanceTime
//later this could be more complicated
void Game::AdvanceTime(ieDword add)
{
ieDword h = GameTime/(300*AI_UPDATE_TIME);
GameTime+=add;
if (h!=GameTime/(300*AI_UPDATE_TIME)) {
//asking for a new weather when the hour changes
WeatherBits&=~WB_HASWEATHER;
//update clock display
core->GetGUIScriptEngine()->RunFunction("GUICommonWindows", "UpdateClock");
}
Ticks+=add*interval;
//change the tileset if needed
Map *map = GetCurrentArea();
if (map && map->ChangeMap(IsDay())) {
//play the daylight transition movie appropriate for the area
//it is needed to play only when the area truly changed its tileset
//this is signalled by ChangeMap
int areatype = (area->AreaType&(AT_FOREST|AT_CITY|AT_DUNGEON))>>3;
ieResRef *res;
if (IsDay()) {
res=&nightmovies[areatype];
} else {
res=&daymovies[areatype];
}
if (*res[0]!='*') {
core->PlayMovie(*res);
}
}
示例2: AdvanceTime
//later this could be more complicated
void Game::AdvanceTime(ieDword add)
{
ieDword h = GameTime/(300*AI_UPDATE_TIME);
GameTime+=add;
if (h!=GameTime/(300*AI_UPDATE_TIME)) {
//asking for a new weather when the hour changes
WeatherBits&=~WB_HASWEATHER;
}
Ticks+=add*interval;
//change the tileset if needed
Map *map = GetCurrentArea();
if (map && map->ChangeMap(IsDay())) {
//play the daylight transition movie appropriate for the area
//it is needed to play only when the area truly changed its tileset
//this is signalled by ChangeMap
int areatype = (area->AreaType&(AT_FOREST|AT_CITY|AT_DUNGEON))>>3;
ieResRef *res;
printMessage("Game","Switching DayLight\n",GREEN);
if (IsDay()) {
res=&nightmovies[areatype];
} else {
res=&daymovies[areatype];
}
if (*res[0]!='*') {
core->PlayMovie(*res);
}
}