//----------------------------------------------------------------------------- // Purpose: // Output : Returns true on success, false on failure. //----------------------------------------------------------------------------- bool VGui_InternalLoadInterfaces( CreateInterfaceFn *factoryList, int numFactories ) { // loads all the interfaces g_pSurface = (ISurface *)InitializeInterface(VGUI_SURFACE_INTERFACE_VERSION, factoryList, numFactories ); // g_pKeyValues = (IKeyValues *)InitializeInterface(KEYVALUES_INTERFACE_VERSION, factoryList, numFactories ); g_pIPanel = (IPanel *)InitializeInterface(VGUI_PANEL_INTERFACE_VERSION, factoryList, numFactories ); if (g_pSurface && /*g_pKeyValues &&*/ g_pIPanel) return true; return false; }
//---------------------------------------------------------------------------- // Nome: Initialize(void) // Desc: Inicializa a cena. Inicializa cenários,interfaces, jogador, inimigos e itens. // Pams: nenhum //---------------------------------------------------------------------------- bool CLevel::Initialize(void) { //15.3.1 //Adiciona as imagens a cena //imagem 0 AddTileImage("Surfaces/tile_Level.bmp",CNGLVector(32,32)); //tiles para compor cenário //imagem 1 AddTileImage("Surfaces/tile_Background.bmp",CNGLVector(128,350)); //tile do fundo //cria a layer de fundo (background). 1 único brick de 128x350 CNGLLayer *p_LayBkg = CreateLayer(CNGLVector(128,350),CNGLVector(1,1)); //cria a layer do meio. Bricks de 32x32 CNGLLayer *p_LayMiddle = CreateLayer(CNGLVector(32,32)); //cria layer da fase (cenário). Bricks de 32x32 p_LayLevel = CreateLayer(CNGLVector(32,32)); //configura as velocidades para as layers //velocidade menor para dar impressão de profundidade p_LayBkg->Speed = CNGLVector(0.5f,0.5f); p_LayMiddle->Speed = CNGLVector(0.7f,0.7f); //inicializa a layer de background //o Brick da posição (0,0) utiliza a imagem 1 e o quadro 0 p_LayBkg->SetBrick(CNGLVector(0,0),1,0); p_LayBkg->Offset.fy = 200.0f; //pequeno deslocamento para ajustar brick //inicializa a layer intermediária //estrutura de configuração de bricks stNGLBrickConfig ConfigMiddle[3]; //cor vermelha refere-se ao quadro 16 da imagem 0 ConfigMiddle[0].uiColor = RGB(255,0,0); ConfigMiddle[0].iImage = 0; ConfigMiddle[0].iFrame = 16; //cor verde refere-se ao quadro 17 da imagem 0 ConfigMiddle[1].uiColor = RGB(0,255,0); ConfigMiddle[1].iImage = 0; ConfigMiddle[1].iFrame = 17; //cor azul refere-se ao quadro 18 da imagem 0 ConfigMiddle[2].uiColor = RGB(0,0,255); ConfigMiddle[2].iImage = 0; ConfigMiddle[2].iFrame = 18; //faz a criação dos bricks configurados p_LayMiddle->CreateBricksFromBitmap("Surfaces/lay_Middle.bmp",ConfigMiddle,3); //inicializa a layer da frente (cenário da fase) //estrutura de configuração de bricks stNGLBrickConfig ConfigLevel[2]; //cor preta refere-se ao quadro 0 da imagem 0 ConfigLevel[0].uiColor = RGB(0,0,0); ConfigLevel[0].iImage = 0; ConfigLevel[0].iFrame = 0; //cor vermelha refere-se ao quadro 4 da imagem 0 ConfigLevel[1].uiColor = RGB(255,0,0); ConfigLevel[1].iImage = 0; ConfigLevel[1].iFrame = 4; p_LayLevel->CreateBricksFromBitmap("Surfaces/lay_Level.bmp",ConfigLevel,2); //inicializa modelo de tiro (fica invisível) p_SprShot = p_LayLevel->CreateSprite("Surfaces/spr_Shot.bmp",CNGLVector(9,9)); p_SprShot->bVisible = false; //inicializa o modelo da explosão p_SprShotExplode = p_LayLevel->CreateSprite("Surfaces/spr_Explosion.bmp",CNGLVector(64,64)); p_SprShotExplode->AddAnimation(30,false,17,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,-1); p_SprShotExplode->SetCurrentAnimation(0); p_SprShotExplode->bVisible = false; //inicia o menu Menu.pr_Level = this; //referência para classe CLevel Menu.Initialize(); //iniciando interface InitializeInterface(); //23.1.1. //1. criar o sprite da moeda final //1. adicionar sua animação contínua //1. ajustar animação corrente como 0 //1. colocar moeda na posição (7235,430) //2. carrega o som de congratulação //3. criar o sprite da alavanca //3. adicionar as animações da alavanca //3. ajustar animação corrente como 0 //3. colocar a alavanca na posição (7314,224) //4. carregar o som da alavanca //5. carregar trilha sonora return true; }