69 protected void SetXboxIcon(
string name,
string imageset_name,
string image_name) {};
80 m_Root.FindAnyWidget(widget +
"_btn_icon_xbox").Show(show_xbox_icon);
81 m_Root.FindAnyWidget(widget +
"_btn_icon").Show(!show_xbox_icon);
99 #ifdef PLATFORM_CONSOLE
121 bool showConsoleIcons =
false;
122 #ifdef PLATFORM_CONSOLE
136 int quantityType = 0;
139 float quantityCurrent = -1.0;
168 SetInteractActionIcon(
"ia_interact",
"ia_interact_icon_frame",
"ia_interact_btn_inner_icon",
"ia_interact_btn_text");
171 SetInteractActionIcon(
"ia_continuous_interact",
"ia_continuous_interact_icon_frame",
"ia_continuous_interact_btn_inner_icon",
"ia_continuous_interact_btn_text");
185 if (
m_Hud.GetHudVisibility().IsContextFlagActive(IngameHudVisibility.HUD_HIDE_FLAGS))
278 if (action && action.
GetText())
305 protected void GetItemQuantity(out
int q_type, out
float q_cur, out
int q_min, out
int q_max)
317 q_cur = (q_cur / q_max);
336 return trans.GetTunedFrequency().ToString();
347 widget =
m_Root.FindAnyWidget(itemWidget);
349 if (entity &&
m_Player && !
m_Player.GetItemAccessor().IsItemInHandsHidden())
353 Class.
CastTo(itemName, widget.FindAnyWidget(descWidget));
354 itemName.SetText(descText);
361 protected void SetItemHealth(
int health,
string itemWidget,
string healthWidget,
bool enabled)
365 widget =
m_Root.FindAnyWidget(itemWidget);
369 ImageWidget healthMark;
370 Class.
CastTo(healthMark, widget.FindAnyWidget(healthWidget));
375 healthMark.SetAlpha(0.5);
376 healthMark.GetParent().Show(
true);
383 healthMark.GetParent().Show(
false);
387 healthMark.SetAlpha(0.5);
388 healthMark.GetParent().Show(
true);
392 healthMark.SetAlpha(0.5);
393 healthMark.GetParent().Show(
true);
397 healthMark.SetAlpha(0.5);
398 healthMark.GetParent().Show(
true);
402 healthMark.SetAlpha(0.5);
403 healthMark.GetParent().Show(
true);
407 healthMark.SetAlpha(0.5);
408 healthMark.GetParent().Show(
true);
411 healthMark.SetColor(0x00FFFFFF);
412 healthMark.SetAlpha(0.5);
413 healthMark.GetParent().Show(
true);
424 protected void SetItemQuantity(
int type,
float current,
int min,
int max,
string itemWidget,
string quantityPBWidget,
string quantityTextWidget,
bool enabled)
428 widget =
m_Root.FindAnyWidget(itemWidget);
432 ProgressBarWidget progressBar;
434 Class.
CastTo(progressBar, widget.FindAnyWidget(quantityPBWidget));
435 Class.
CastTo(textWidget, widget.FindAnyWidget(quantityTextWidget));
441 progressBar.Show(
false);
442 textWidget.Show(
false);
443 textWidget.GetParent().Show(
false);
446 if (max > 1 || current > 1)
448 string qty_text =
string.Format(
"%1/%2",
Math.
Round(current).
ToString(), max.ToString());
449 progressBar.Show(
false);
450 textWidget.SetText(qty_text);
451 textWidget.Show(
true);
452 textWidget.GetParent().Show(
true);
457 progressBar.Show(
false);
458 textWidget.Show(
false);
459 textWidget.GetParent().Show(
false);
463 textWidget.Show(
false);
464 progressBar.SetCurrent(current);
465 progressBar.Show(
true);
466 textWidget.GetParent().Show(
true);
475 protected void SetWeaponQuantity(
int chamber,
int mag,
string itemWidget,
string quantityPBWidget,
string quantityTextWidget,
bool enabled)
479 widget =
m_Root.FindAnyWidget(itemWidget);
485 ProgressBarWidget progressBar;
487 Class.
CastTo(progressBar, widget.FindAnyWidget(quantityPBWidget));
488 Class.
CastTo(textWidget, widget.FindAnyWidget(quantityTextWidget));
492 int mag_quantity = -1;
499 for (
int j = 0; j < wpn.GetMuzzleCount(); j++)
501 if (wpn.IsChamberFull(j)&& !wpn.IsChamberFiredOut(j))
504 wpn_qty = mag_quantity.ToString();
508 for (
int i = 0; i < wpn.GetMuzzleCount(); i++)
510 if (i > 0 && (wpn.GetMuzzleCount() < 3 || i%2 == 0))
512 wpn_qty = wpn_qty +
" ";
514 if (wpn.IsChamberEmpty(i))
516 wpn_qty = wpn_qty +
"0";
518 else if (wpn.IsChamberFiredOut(i))
520 wpn_qty = wpn_qty +
"F";
524 wpn_qty = wpn_qty +
"1";
527 maga = wpn.GetMagazine(i);
530 mag_quantity = maga.GetAmmoCount();
532 else if (wpn.GetInternalMagazineMaxCartridgeCount(i) > 0)
534 mag_quantity = wpn.GetInternalMagazineCartridgeCount(i);
541 if (mag_quantity != -1)
542 wpn_qty =
string.
Format(
"X (+%1)", mag_quantity);
548 if (mag_quantity != -1)
550 wpn_qty = wpn_qty +
" (" + mag_quantity.ToString() +
")";
556 progressBar.Show(
false);
557 textWidget.SetText(wpn_qty);
558 textWidget.Show(
true);
559 textWidget.GetParent().Show(
true);
569 widget =
m_Root.FindAnyWidget(itemWidget);
576 Class.
CastTo(txtModeWidget, widget.FindAnyWidget(upWidget));
577 Class.
CastTo(txtZeroingWidget, widget.FindAnyWidget(downWidget));
580 string zeroing =
string.Empty;
582 zeroing =
string.
Format(
"%1 m", w.GetCurrentZeroing(w.GetCurrentMuzzle()));
584 txtModeWidget.SetText(
m_Player.GetWeaponManager().GetCurrentModeName());
585 txtZeroingWidget.SetText(zeroing);
598 protected void SetRadioFrequency(
string freq,
string itemWidget,
string upWidget,
string downWidget,
bool enabled)
602 widget =
m_Root.FindAnyWidget(itemWidget);
608 Class.
CastTo(txtUpWidget, widget.FindAnyWidget(upWidget));
609 Class.
CastTo(txtDownWidget, widget.FindAnyWidget(downWidget));
611 txtUpWidget.SetText(freq);
612 txtDownWidget.SetText(
"MHz");
626 Class.
CastTo(actionName, widget.FindAnyWidget(descWidget));
631 descText = descText +
" " +
"#action_target_cursor_hold";
632 actionName.SetText(descText);
636 actionName.SetText(descText);
652 widget =
m_Root.FindAnyWidget(multiActionsWidget);
661 widget =
m_Root.FindAnyWidget(multiActionsWidget);
669 widget =
m_Root.FindAnyWidget(multiActionsWidget);
678 widget =
m_Root.FindAnyWidget(multiActionsWidget);
682 protected void SetInteractActionIcon(
string actionWidget,
string actionIconFrameWidget,
string actionIconWidget,
string actionIconTextWidget)
684 string keyName =
string.Empty;
685 Widget widget, frameWidget;
686 ImageWidget iconWidget;
689 widget =
m_Root.FindAnyWidget(actionWidget);
690 Class.
CastTo(frameWidget, widget.FindAnyWidget(actionIconFrameWidget));
691 Class.
CastTo(iconWidget, widget.FindAnyWidget(actionIconWidget));
692 Class.
CastTo(textWidget, widget.FindAnyWidget(actionIconTextWidget));
702 iconWidget.Show(
false);
703 textWidget.SetText(keyName);
704 textWidget.Show(
true);
713 w.Show(entity.IsRefresherSignalingViable() &&
m_Player.IsTargetInActiveRefresherRange(entity));
715 else if (w.IsVisible())
740 IngameHud hud = IngameHud.Cast(
mission.GetHud());
void ActionManagerBase(PlayerBase player)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
override ScriptInvoker GetUpdateQueue(int call_category)
proto native Input GetInput()
proto native Mission GetMission()
Super root of all classes in Enforce script.
const int COLOR_BADLY_DAMAGED
ScriptInvoker GetOnInputDeviceChanged()
ScriptInvoker GetOnInputPresetChanged()
static float GetItemQuantity(InventoryItem item)
static int HasItemQuantity(notnull EntityAI item)
proto bool Remove(func fn, int flags=EScriptInvokerRemoveFlags.ALL)
remove specific call from list
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
script counterpart to engine's class Weapon
proto string ToString(bool simple=true)
proto native CGame GetGame()
const int QUANTITY_PROGRESS
const int QUANTITY_HIDDEN
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const int STATE_BADLY_DAMAGED
static proto float Round(float f)
Returns mathematical round of value.
proto int ToUpper()
Changes string to uppercase. Returns length.
static const string Empty
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.