MCPcopy Create free account
hub / github.com/StrongPC123/Far-Cry-1-Source-Full / SetFocus

Method SetFocus

CryGame/ScriptObjectUI.cpp:1535–1586  ·  view source on GitHub ↗

-------------------------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1533
1534//-------------------------------------------------------------------------------------------------
1535int CScriptObjectUI::SetFocus(IFunctionHandler *pH)
1536{
1537 CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", SetFocus, 1, 2);
1538
1539 CUIWidget *pWidget;
1540
1541 if (pH->GetParamCount() == 1)
1542 {
1543 CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetFocus, 1, svtObject);
1544
1545 IScriptObject *pScriptObject = m_pScriptSystem->CreateEmptyObject();
1546
1547 pH->GetParam(1, pScriptObject);
1548
1549 pWidget = (CUIWidget *)pScriptObject->GetNativeData();
1550
1551 pScriptObject->Release();
1552 }
1553 else
1554 {
1555 CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetFocus, 1, svtString);
1556 CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", SetFocus, 2, svtString, svtObject);
1557
1558 char *szWidgetName;
1559 char *szScreenName;
1560
1561 pH->GetParam(1, szWidgetName);
1562
1563 if (pH->GetParamType(2) == svtObject)
1564 {
1565 IScriptObject *pScriptObject = m_pScriptSystem->CreateEmptyObject();
1566
1567 pH->GetParam(2, pScriptObject);
1568
1569 CUIScreen *pScreen = (CUIScreen *)pScriptObject->GetNativeData();
1570
1571 pScriptObject->Release();
1572
1573 pWidget = pScreen->GetWidget(szWidgetName);
1574 }
1575 else
1576 {
1577 pH->GetParam(2, szScreenName);
1578
1579 pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
1580 }
1581 }
1582
1583 m_pUISystem->SetFocus(pWidget);
1584
1585 return pH->EndFunctionNull();
1586}
1587
1588//-------------------------------------------------------------------------------------------------
1589int CScriptObjectUI::GetFocus(IFunctionHandler *pH)

Callers

nothing calls this directly

Calls 8

CreateEmptyObjectMethod · 0.80
GetNativeDataMethod · 0.80
GetParamTypeMethod · 0.80
EndFunctionNullMethod · 0.80
GetParamCountMethod · 0.45
GetParamMethod · 0.45
ReleaseMethod · 0.45
GetWidgetMethod · 0.45

Tested by

no test coverage detected