DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ListItemRelatedActions()

bool ScriptConsoleItemsTab::ListItemRelatedActions ( )
inlineprivate

См. определение в файле ScriptConsoleItemsTab.c строка 1578

1579 {
1580 string message = "";
1581
1582 array<ActionBase_Basic> interactActions = new array<ActionBase_Basic>();
1583 m_PreviewEntity.GetActions(InteractActionInput, interactActions);
1584 if (interactActions)
1585 {
1586 message += "\n== Interact (F)\n\n";
1587 foreach (ActionBase_Basic iaction : interactActions)
1588 {
1589 if (iaction.Type() == ActionWorldCraft)
1590 continue;
1591
1592 ActionBase ia = ActionBase.Cast(iaction);
1593 message += string.Format("%1 <%2>\n", Widget.TranslateString(ia.GetText()), ia.ClassName());
1594 }
1595 }
1596
1597 array<ActionBase_Basic> continuousInteractActions = new array<ActionBase_Basic>();
1598 m_PreviewEntity.GetActions(ContinuousInteractActionInput, continuousInteractActions);
1599 if (continuousInteractActions)
1600 {
1601 message += "\n== Continuous Interact (F hold)\n\n";
1602 foreach (ActionBase_Basic ciaction : continuousInteractActions)
1603 {
1604 if (ciaction.Type() == ActionWorldCraft)
1605 continue;
1606
1607 ActionBase cia = ActionBase.Cast(ciaction);
1608 message += string.Format("%1 <%2>\n", Widget.TranslateString(cia.GetText()), cia.ClassName());
1609 }
1610 }
1611
1612 array<ActionBase_Basic> singleActions = new array<ActionBase_Basic>();
1613 m_PreviewEntity.GetActions(DefaultActionInput, singleActions);
1614 if (singleActions)
1615 {
1616 message += "\n== Single (LMB)\n\n";
1617 foreach (ActionBase_Basic saction : singleActions)
1618 {
1619 if (saction.Type() == ActionWorldCraft)
1620 continue;
1621
1622 ActionBase sa = ActionBase.Cast(saction);
1623 message += string.Format("%1 <%2>\n", Widget.TranslateString(sa.GetText()), sa.ClassName());
1624 }
1625 }
1626
1627 array<ActionBase_Basic> continuousActions = new array<ActionBase_Basic>();
1628 m_PreviewEntity.GetActions(ContinuousDefaultActionInput, continuousActions);
1629 if (continuousActions)
1630 {
1631 ActionBase_Basic craftingAction;
1632 message += "\n== Continuous (LMB hold)\n\n";
1633 foreach (ActionBase_Basic caction : continuousActions)
1634 {
1635 if (caction.Type() != ActionWorldCraft)
1636 {
1637 ActionBase ca = ActionBase.Cast(caction);
1638 message += string.Format("%1 <%2>\n", Widget.TranslateString(ca.GetText()), ca.ClassName());
1639 }
1640 else
1641 {
1642 craftingAction = caction;
1643 }
1644 }
1645 message += "\n== Crafting recipes \n\n";
1646 if (craftingAction)
1647 {
1648 PluginRecipesManager pluginRecipesManager = PluginRecipesManager.Cast(GetPlugin(PluginRecipesManager));
1649 array<RecipeBase> recipes = pluginRecipesManager.GetRecipesForItem(m_PreviewEntity.GetType());
1650 foreach (RecipeBase recipe : recipes)
1651 {
1652 if (recipe.IsItemInRecipe("Inventory_Base"))
1653 continue;
1654
1655 message += string.Format("%1 <%2>\n", Widget.TranslateString(recipe.GetName()), recipe.Type());
1656 }
1657 }
1658 }
1659
1660 ScriptConsoleUniversalInfoDialog infoDialog = ScriptConsoleUniversalInfoDialog.Cast(g_Game.GetUIManager().EnterScriptedMenu(MENU_SCRIPTCONSOLE_UNIVERSAL_INFO_DIALOG, m_ScriptConsole));
1661 infoDialog.SetLabel(string.Format("%1 related actions", m_PreviewEntity.GetType()));
1662 infoDialog.SetContent(message);
1663
1664 return true;
1665 }
void ContinuousDefaultActionInput(PlayerBase player)
Определения ActionInput.c:607
DayZGame g_Game
Определения DayZGame.c:3868
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
string GetText()
Определения ActionBase.c:298
static EntityAI m_PreviewEntity
Определения ScriptConsoleItemsTab.c:15
ScriptConsole m_ScriptConsole
Определения ScriptConsoleTabBase.c:9
const int MENU_SCRIPTCONSOLE_UNIVERSAL_INFO_DIALOG
Определения constants.c:213
static proto string Format(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
Gets n-th character from string.
WorkspaceWidget Widget
Defined in code.

Перекрестные ссылки ContinuousDefaultActionInput(), string::Format(), g_Game, GetPlugin(), ActionBase::GetText(), m_PreviewEntity, ScriptConsoleTabBase::m_ScriptConsole и MENU_SCRIPTCONSOLE_UNIVERSAL_INFO_DIALOG.

Используется в OnClick().