#include "_StdAfx.h"



Ui::Ui(){

m_pTxFrame = NULL;

m_pTxMBlock = NULL;

m_pTxMsg = NULL;

M=0;

clickComp =0;

for(int i =0;i<10;i++){

BoxSwit[i] = 0;

}

}


INT Ui::Init(){

m_pSChain= LnSnd_Create("Sound/eff_chain.wav");

if(NULL == m_pSChain)

return -1;

MU_TextureLoad("Texture/UI/Frame.png", m_pTxFrame, D3DCOLOR_ARGB(255,255,255,255)); // 프레임


MU_TextureLoad("Texture/UI/menu.png", m_pTxMenu, D3DCOLOR_ARGB(255,255,255,255)); // 메뉴 확장 박스

MU_TextureLoad("Texture/UI/MBlock.png", m_pTxMBlock, D3DCOLOR_ARGB(0,149,149,149)); // 각 메뉴 블록

for(int i=0;i<20;i++)

SetRect(&MBFlag[i],i%2*90,i/2*44,i%2*90 + 44,(i/2*44) + 43);

SetRect(&MFlag[0],0,0,128,104);

SetRect(&MFlag[1],0,104,128,208);

SetRect(&MenuB,1790,976,1918,1065);



UiBox[UISKILL] = new MsgBox("SKILL",350,500);

UiBox[UIQUIT] = new MsgBox("DO YOU WANNA QUIT?",550,150);



return 1;

}


void Ui::Destroy(){

SAFE_RELEASE( m_pTxFrame );

SAFE_RELEASE( m_pTxMBlock );

SAFE_RELEASE( m_pTxMsg);

}



void Ui::ClickMenu(int UINUM){

clickComp = 1;

if(BoxSwit[UINUM]){

BoxSwit[UINUM] = 0;


}else{

BoxSwit[UINUM] = 1;

old.push_back(UINUM);

}


}


INT Ui::FrameMove(){



/* ::: 마우스, 키보드 순으로 각 메뉴 버튼 활성화에 대한 프레임무브 ::: */

if(GINPUT->GetMouseSt(1)) clickComp = 0; // 클릭 완료 피드백


/* 메뉴 확장 버튼 */




if(GINPUT->IsInRect(MenuB) && GINPUT->GetMouseSt(0) && clickComp == 0)

{

LnSnd_Play(m_pSChain);

clickComp = 1;

if(M==0)

M =1;

else

M =0;

}

if(GINPUT->KeyDown(VK_MENU)){

LnSnd_Play(m_pSChain);

if(M==0)

M =1;

else

M =0;

}


for(int i=0;i<6;i++)

SetRect(&BoxIn[i],MenuB.left,MenuB.top + ((i+1)*89),MenuB.right,MenuB.bottom+ ((i+1)*89)); // 확장 메뉴 버튼 좌표를 메뉴버튼에 종속

SetRect(&Mstr,MenuB.left+35,MenuB.top+23,MenuB.right,MenuB.bottom);


if(M == 1){

if(MenuB.top > 521 ){

MenuB.bottom -=89;

MenuB.top -=89;

}

}

if(M == 0){

if(MenuB.top < 976 ){

MenuB.bottom +=89;

MenuB.top +=89;

}else if(MenuB.top>976){

MenuB.bottom -=1;

MenuB.top -= 1;

}else{

}

}


/* 스킬 버튼 */

if(GINPUT->IsInRect(BoxIn[UISKILL]) && GINPUT->GetMouseSt(0)&& clickComp == 0)

{

ClickMenu(UISKILL);

}

if(BoxSwit[UISKILL] && UiBox[UISKILL]->Update() == uTRUE){

}else if(BoxSwit[UISKILL] && UiBox[UISKILL]->Update() == uFALSE){

BoxSwit[UISKILL] = 0;

}




/* 종료 버튼 */

if(GINPUT->IsInRect(BoxIn[UIQUIT]) && GINPUT->GetMouseSt(0)&& clickComp == 0)

{

ClickMenu(UIQUIT);

}

if(BoxSwit[UIQUIT] && UiBox[UIQUIT]->Update() == uTRUE){

SendMessage(GHWND, WM_DESTROY, 0,0);

}else if(BoxSwit[UIQUIT] && UiBox[UIQUIT]->Update() == uFALSE){

BoxSwit[UIQUIT] = 0;

}


/* ESC로 연 순서대로 닫기 */

if(GINPUT->KeyDown(VK_ESCAPE)){

if(!old.empty()){

BoxSwit[old.front()] = 0;

old.pop_front();

}


}




return 1;

}


void Ui::Render(){


/* 프레임 렌더 */

GSPRITE->Draw(m_pTxFrame, NULL, NULL, &D3DXVECTOR3(0,0, 0), D3DXCOLOR(1,1,1,1));

if(GINPUT->IsInRect(MenuB)){

GSPRITE->Draw(m_pTxMenu, &MFlag[1], NULL, &D3DXVECTOR3(MenuB.left,MenuB.top, 0), D3DXCOLOR(1,1,1,1));

}else{

GSPRITE->Draw(m_pTxMenu, &MFlag[0], NULL, &D3DXVECTOR3(MenuB.left,MenuB.top, 0), D3DXCOLOR(1,1,1,1));

}

for(int i=1;i<7;i++){

if(GINPUT->IsInRect(BoxIn[i-1])){

GSPRITE->Draw(m_pTxMenu, &MFlag[1], NULL, &D3DXVECTOR3(MenuB.left,MenuB.top+(i*89), 0), D3DXCOLOR(1,1,1,1));

GSPRITE->Draw(m_pTxMBlock, &MBFlag[(i-1)*2+1], NULL, &D3DXVECTOR3(MenuB.left+41,MenuB.top+12+(i*89), 0), D3DXCOLOR(1,1,1,1));

}else{

GSPRITE->Draw(m_pTxMenu, &MFlag[0], NULL, &D3DXVECTOR3(MenuB.left,MenuB.top+(i*89), 0), D3DXCOLOR(1,1,1,1));

GSPRITE->Draw(m_pTxMBlock, &MBFlag[(i-1)*2], NULL, &D3DXVECTOR3(MenuB.left+41,MenuB.top+12+(i*89), 0), D3DXCOLOR(1,1,1,1));

}

}


/* 스킬 관련 렌더 */


if(BoxSwit[UISKILL]==1){

UiBox[UISKILL]->Draw();

}




/* 종료 관련 렌더 */

if(BoxSwit[UIQUIT] ==1){

UiBox[UIQUIT]->Draw();

}


GFONT->DrawText(GSPRITE,"MENU",-1,&Mstr,DT_NOCLIP,D3DXCOLOR(1,1,1,1));


}


메뉴버튼..누르면..체인 쩔그럭거리는..소리..나야..멋있는데..

갑자기 .. 수정하다보니..안난다..도와주새요..