//-----------------------------------------------------------------
void game_cl_TeamDeathmatch::SetCurrentBuyMenu	()
{
	if (!local_player) return;
	if (!local_player->team || local_player->skin == -1) return;
	if (!pCurBuyMenu)
	{
		if (local_player->team == 1) 
		{
			pCurBuyMenu = InitBuyMenu(GetBaseCostSect(), 1);
			LoadTeamDefaultPresetItems(GetTeamMenu(1), pCurBuyMenu, &PresetItemsTeam1);
			pCurPresetItems = &PresetItemsTeam1;
		}
		else 
		{
			pCurBuyMenu = InitBuyMenu(GetBaseCostSect(), 2);
			LoadTeamDefaultPresetItems(GetTeamMenu(2), pCurBuyMenu, &PresetItemsTeam2);
			pCurPresetItems = &PresetItemsTeam2;
		};
		LoadDefItemsForRank(pCurBuyMenu);
	};

//	if (pCurBuyMenu) pCurBuyMenu->SetSkin(local_player->skin);
	if (!pCurBuyMenu) return;	

	//-----------------------------------
	if (m_cl_dwWarmUp_Time != 0) pCurBuyMenu->IgnoreMoneyAndRank(true);
	else pCurBuyMenu->IgnoreMoneyAndRank(false);
	//-----------------------------------
};
Example #2
0
void				game_cl_Deathmatch::OnGameRoundStarted				()
{
	inherited::OnGameRoundStarted();
	if (pCurBuyMenu && pCurBuyMenu->IsShown())
		pCurBuyMenu->HideDialog();

	if (local_player)
	{
		if (pCurBuyMenu) 
		{
			pCurBuyMenu->IgnoreMoneyAndRank(false);
			pCurBuyMenu->SetRank(local_player->rank);
		}
		ClearBuyMenu();
		LoadDefItemsForRank(pCurBuyMenu);
		ChangeItemsCosts(pCurBuyMenu);
		if (pCurBuyMenu && pCurPresetItems)
		{
			LoadTeamDefaultPresetItems(GetTeamMenu(local_player->team), pCurBuyMenu, pCurPresetItems);
			ReInitRewardGenerator(local_player);
		}
	}
	if (pCurBuyMenu) pCurBuyMenu->ClearPreset(_preset_idx_last);
	//-----------------------------------------------------------------
	if ( m_game_ui && m_game_ui->ActorMenu().IsShown() )
	{
		m_game_ui->HideActorMenu();
	}
}
Example #3
0
void game_cl_Deathmatch::SetCurrentBuyMenu	()	
{
	if (!pCurBuyMenu)
	{
		pCurBuyMenu	= InitBuyMenu(GetBaseCostSect(), 0);
		LoadTeamDefaultPresetItems(GetTeamMenu(0), pCurBuyMenu, &PresetItemsTeam0);
		pCurPresetItems	= &PresetItemsTeam0;
		LoadDefItemsForRank(pCurBuyMenu);
	}	
	//-----------------------------------
	if (m_cl_dwWarmUp_Time != 0) pCurBuyMenu->IgnoreMoneyAndRank(true);
	else pCurBuyMenu->IgnoreMoneyAndRank(false);
	//-----------------------------------
	if (!local_player) return;
};
Example #4
0
void CUIGameCTA::LoadDefItemsForRank()
{
    R_ASSERT(m_pCurBuyMenu);
    R_ASSERT(m_game);
    R_ASSERT(m_game->local_player);
    //---------------------------------------------------
    game_PlayerState* local_player = m_game->local_player;
    LoadTeamDefaultPresetItems(m_game->getTeamSection(local_player->team));
    //---------------------------------------------------
    string16 RankStr;
    string256 ItemStr;
    string256 NewItemStr;
    char tmp[5];
    for (int i=1; i<=local_player->rank; i++)
    {
        strconcat(sizeof(RankStr),RankStr,"rank_",itoa(i,tmp,10));
        if (!pSettings->section_exist(RankStr)) continue;
        for (u32 it=0; it<PlayerDefItems.size(); it++)
        {
//			s16* pItemID = &(PlayerDefItems[it]);
//			char* ItemName = pBuyMenu->GetWeaponNameByIndex(u8(((*pItemID)&0xff00)>>0x08), u8((*pItemID)&0x00ff));
            PresetItem *pDefItem = &(PlayerDefItems[it]);
            const shared_str& ItemName = m_pCurBuyMenu->GetWeaponNameByIndex(pDefItem->SlotID, pDefItem->ItemID);
            if (!ItemName.size()) continue;
            strconcat(sizeof(ItemStr),ItemStr, "def_item_repl_", ItemName.c_str() );
            if (!pSettings->line_exist(RankStr, ItemStr)) continue;

            xr_strcpy(NewItemStr,sizeof(NewItemStr),pSettings->r_string(RankStr, ItemStr));

            u8 SlotID, ItemID;
            m_pCurBuyMenu->GetWeaponIndexByName(NewItemStr, SlotID, ItemID);
            if (SlotID == 0xff || ItemID == 0xff) continue;

//			s16 ID = GetBuyMenuItemIndex(SlotID, ItemID);
            s16 ID = GetBuyMenuItemIndex(0, ItemID);

//			*pItemID = ID;
            pDefItem->set(ID);
        }
    }
    //---------------------------------------------------------
    for (u32 it=0; it<PlayerDefItems.size(); it++)
    {
//		s16* pItemID = &(PlayerDefItems[it]);
//		char* ItemName = pBuyMenu->GetWeaponNameByIndex(u8(((*pItemID)&0xff00)>>0x08), u8((*pItemID)&0x00ff));
        PresetItem *pDefItem = &(PlayerDefItems[it]);
        const shared_str& ItemName = m_pCurBuyMenu->GetWeaponNameByIndex(pDefItem->SlotID, pDefItem->ItemID);
        if ( !ItemName.size() ) continue;
        if (!xr_strcmp(*ItemName, "mp_wpn_knife")) continue;
        if (!pSettings->line_exist(ItemName, "ammo_class")) continue;

        string1024 wpnAmmos, BaseAmmoName;
        xr_strcpy(wpnAmmos, pSettings->r_string(ItemName, "ammo_class"));
        _GetItem(wpnAmmos, 0, BaseAmmoName);

        u8 SlotID, ItemID;
        m_pCurBuyMenu->GetWeaponIndexByName(BaseAmmoName, SlotID, ItemID);
        if (SlotID == 0xff || ItemID == 0xff) continue;

//		s16 ID = GetBuyMenuItemIndex(SlotID, ItemID);

        s16 ID = GetBuyMenuItemIndex(0, ItemID);
        PlayerDefItems.push_back(ID);
        PlayerDefItems.push_back(ID);
    };
};
Example #5
0
void game_cl_Deathmatch::LoadPlayerDefItems(char* TeamName, IBuyWnd* pBuyMenu)
{
	if (!local_player)				return;
	LoadTeamDefaultPresetItems		(TeamName, pBuyMenu, &PlayerDefItems);
};
Example #6
0
void				game_cl_Deathmatch::OnSwitchPhase_InProgress()
{
	HideBuyMenu();
	LoadTeamDefaultPresetItems(GetTeamMenu(0), pCurBuyMenu, &PresetItemsTeam0);
};