function HandleZoneTitle()
{
local int nZoneID;
local int isLargeMap;
nZoneID = GetCurrentZoneID();
if (txt_noMap.isShowWindow()) //존타이틀이 바뀔때는 항상 표시불가지역 텍스트를 가려준다.
{
wnd_RadarMap.KillTimer(TIMER_ID3);
txt_noMap.HideWindow();
}
StopLocal();
txt_noMap.SetAlpha(0);
// AddSystemMessageString("HandleZoneTitle" @ nZoneID);
if (IsLocalZone(nZoneID))
{
if (tex_LocalMap.GetTextureName() != Right(LocalMapName, 3)) // if new local map uses
{
tex_LocalMap.SetWindowSize(LocalMapRect.nWidth, LocalMapRect.nHeight); // when doing yeleport from map with Large flag, window size can reduce to 0,0;
// AddSystemMessageString("tex_LocalMap" @ tex_LocalMap.GetTextureName());
// AddSystemMessageString("LocalMapName" @ LocalMapName);
rdr_RadarMapTex.SetMapInvisible(true);
rdr_RadarMapObject.SetMapInvisible(true);
tex_LocalMap.HideWindow();
show = false;
tex_LocalMap.SetTexture(LocalMapName);
}
//////////// Manual Settings Local Map /////////////////////
class'UIAPI_EDITBOX'.static.SetString("RadarMapWnd.RadarMapManual.edtLocalX", string(LocalMapX));
class'UIAPI_EDITBOX'.static.SetString("RadarMapWnd.RadarMapManual.edtLocalY", string(LocalMapY));
class'UIAPI_EDITBOX'.static.SetString("RadarMapWnd.RadarMapManual.edtLocalMag", localMag);
class'UIAPI_EDITBOX'.static.SetString("RadarMapWnd.RadarMapManual.edtLocalScale", string(arrCoefficient[2]));
///////////////////////////////////////////////////////////
GetINIInt(string(nZoneID), "Large", isLargeMap, LOCALMAPINI);
if (isLargeMap == 1)
wnd_RadarMap.SetTimer(TIMER_ID2_LARGE, TIMER_DELAY2);
else
wnd_RadarMap.SetTimer(TIMER_ID2, TIMER_DELAY2);
txt_noMap.SetText(GetCurrentZoneName());
if (zoneState == 0 || zoneState == 2 || zoneState == 3) //0 - enter "zero" state, 1 - LocalMap; 2 - IsHideRadarZone; 3 - general map
{
magStep = 2;
mag = float(localMag);
CalculateSizeArray();
rdr_RadarMapTex.SetMagnification(mag);
rdr_RadarMapObject.SetMagnification(mag);
ClearTarget();
btn_Plus.DisableWindow();
btn_Minus.DisableWindow();
SetSliderAlpha(true);
tex_rangeRadiusBig.HideWindow();
tex_rangeRadiusSmall.HideWindow();
SetRadiusTexture();
zoneState = 1;
}
}
else
{
if (zoneState == 0 || zoneState == 1)
{
tex_LocalMap.HideWindow();
tex_LocalMap.SetWindowSize(LocalMapRect.nWidth, LocalMapRect.nHeight); // when doing yeleport from map with Large flag, window size can reduce to 0,0;
tex_LocalMap.SetTexture("");
magStep = prevmagStep;
mag = arrMag[magStep];
arrCoefficient[2] = 20;
CalculateSizeArray();
ClearTarget();
rdr_RadarMapTex.SetMagnification(mag);
rdr_RadarMapObject.SetMagnification(mag);
ClearTarget();
btn_Plus.EnableWindow();
btn_Minus.EnableWindow();
SetSliderAlpha(false);
tex_rangeRadiusBig.HideWindow();
tex_rangeRadiusSmall.HideWindow();
SetRadiusTexture();
}
if (IsHideRadarZone(nZoneID))
{
rdr_RadarMapTex.SetMapInvisible(true);
txt_noMap.SetText(GetSystemString(1686));
zoneState = 2;
}
else
{
rdr_RadarMapTex.SetMapInvisible(false);
txt_noMap.SetText(GetCurrentZoneName());
zoneState = 3;
}
}
wnd_RadarMap.KillTimer(TIMER_ID3);
wnd_RadarMap.SetTimer(TIMER_ID3, TIMER_DELAY3);
txt_noMap.ShowWindow();
txt_noMap.SetAlpha( 255, 0.8f );
}