void DeclareCaveCommand::Process( World ** pWorld, float2 fScreenDimensions, GameCommand * pCommand, Subdivision ** pSubdivision, const shared_ptr<DeviceResources>& deviceResources) { int regionId = ((DeclareCaveGameCommand *)pCommand)->GetRegionId(); int nColumn = ((DeclareCaveGameCommand *)pCommand)->GetColumn(); int nRow = ((DeclareCaveGameCommand *)pCommand)->GetRow(); int red = ((DeclareCaveGameCommand *)pCommand)->GetRed(); int green = ((DeclareCaveGameCommand *)pCommand)->GetGreen(); int blue = ((DeclareCaveGameCommand *)pCommand)->GetBlue(); Region * region = (*pWorld)->GetRegion(regionId); *pSubdivision = region->GetSubdivision(nColumn, nRow); (*pSubdivision)->SetColor(red, green, blue); }