コード例 #1
0
CReplayListPanel::~CReplayListPanel()
{
	ivgui()->RemoveTickSignal( GetVPanel() );
}
コード例 #2
0
ファイル: buildmenu.cpp プロジェクト: TotallyMehis/ZM-Updated
//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
CBuildMenu::CBuildMenu(IViewPort *pViewPort) : Frame(NULL, PANEL_BUILD )
{
	gBuildMenu = this;

	m_pViewPort = pViewPort;
	m_iJumpKey = -1; // this is looked up in Activate()
//	m_iScoreBoardKey = -1; // this is looked up in Activate()

	// initialize dialog
	SetTitle("Spawn Menu", true);

	// load the new scheme early!!
	scheme = vgui::scheme()->LoadSchemeFromFile("resource/ZombieMaster.res", "ZombieMaster");
	SetScheme(scheme);
	SetSizeable(false);

	m_hLargeFont = vgui::scheme()->GetIScheme(scheme)->GetFont("Trebuchet18", true);
	m_hMediumFont = vgui::scheme()->GetIScheme(scheme)->GetFont("Trebuchet16", true);

	SetProportional(false);

	LoadControlSettings("Resource/UI/BuildMenu.res");

	vgui::ivgui()->AddTickSignal(GetVPanel(), 150);

	//TGB: moved here because the .res seemed to override it
	SetMoveable(true);
	InvalidateLayout();

	//we fetch a bunch of pointers to various elements here so we can alter them quickly and easily
	info_image = dynamic_cast<vgui::ImagePanel*>(FindChildByName("ZombieImage"));

	info_rescost = dynamic_cast<vgui::Label*>(FindChildByName("CostRes"));
	info_popcost = dynamic_cast<vgui::Label*>(FindChildByName("CostPop"));
	info_description = dynamic_cast<vgui::Label*>(FindChildByName("LabelDescription"));

	removelast =  dynamic_cast<vgui::Button*>(FindChildByName("RemoveLast"));
	clearqueue =  dynamic_cast<vgui::Button*>(FindChildByName("ClearQueue"));

	//prepare a list of our spawn buttons etc so we can easily iterate over them
	for (int i=0; i < TYPE_TOTAL; i++)
	{
		char buffer[25];
		Q_snprintf(buffer, sizeof(buffer), "z_spawn1_%02d", i);
		spawnbuttons[i] = FindChildByName(buffer);

		Q_snprintf(buffer, sizeof(buffer), "z_spawn5_%02d", i);
		spawnfives[i] = FindChildByName(buffer);

		zombieimages[i] = vgui::scheme()->GetImage(TypeToImage[i], true);
		zombiequeue[i] = vgui::scheme()->GetImage(TypeToQueueImage[i], false);
	
	}
	

	KeyValues *kv = new KeyValues("zombiedesc.res");
	if  ( kv->LoadFromFile( (IBaseFileSystem*)filesystem, "resource/zombiedesc.res", "MOD" ) )
	{
		//braaaaaaah, char juggling is pain

		const char *temp = kv->GetString("shambler", "Shambler");
		int length = 128;
		char *saved = new char[length];
		Q_strncpy(saved, temp, strlen(temp) + 1);
		zombiedescriptions[TYPE_SHAMBLER] = saved;

		temp = kv->GetString("banshee", "Banshee");
		saved = new char[length];
		Q_strncpy(saved, temp, strlen(temp) + 1);
		zombiedescriptions[TYPE_BANSHEE] = saved;

		temp = kv->GetString("hulk", "Hulk");
		saved = new char[length];
		Q_strncpy(saved, temp, strlen(temp) + 1);
		zombiedescriptions[TYPE_HULK] = saved;

		temp = kv->GetString("drifter", "Drifter");
		saved = new char[length];
		Q_strncpy(saved, temp, strlen(temp) + 1);
		zombiedescriptions[TYPE_DRIFTER] = saved;

		temp = kv->GetString("immolator", "Immolator");
		saved = new char[length];
		Q_strncpy(saved, temp, strlen(temp) + 1);
		zombiedescriptions[TYPE_IMMOLATOR] = saved;
	}
	//will delete its child keys as well
	kv->deleteThis();

	for (int i=0; i < BM_QUEUE_SIZE; i++)
	{
		char buffer[10];
		Q_snprintf(buffer, sizeof(buffer), "queue%02d", i);
		queueimages[i] = dynamic_cast<vgui::ImagePanel*>(FindChildByName(buffer));
	}
}