| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846 | enum RadialQuickbarCategory{	DEFAULT,	SPECIALIZED_LIGHTS}class RadialQuickbarItem{	protected bool 					m_IsLightSourceExtra;	protected bool 					m_IsNVG;	protected int 					m_Id;	protected int 					m_Category;	protected int 					m_CategorySwitchID;	protected EntityAI 				m_Item;	protected string 				m_ItemName;		//radial menu	protected Widget 			m_RadialMenuSelector;	protected Widget			m_RadialMenuItemCard;		void RadialQuickbarItem( int id, EntityAI item, string item_name, int category = RadialQuickbarCategory.DEFAULT, int category_switch = -1 )	{		m_Id				= id;		m_Item 				= item;		m_ItemName			= item_name;		m_Category 			= category;		m_CategorySwitchID 	= category_switch;				//		if (ItemBase.Cast(m_Item))		{			m_IsNVG = ItemBase.Cast(m_Item).IsNVG();			m_IsLightSourceExtra = ItemBase.Cast(m_Item).IsLightSource();		}	}		EntityAI GetItem()	{		return m_Item;	}		void SetItem( EntityAI item )	{		m_Item = item;	}		bool IsLightSourceExtra()	{		return m_IsLightSourceExtra;	}		bool IsNVGExtra()	{		return m_IsNVG;	}		int GetId()	{		return m_Id;	}		int GetItemCategory()	{		return m_Category;	}		int GetCategorySwitchID()	{		return m_CategorySwitchID;	}			Widget GetRadialItemCard()	{		return m_RadialMenuItemCard;	}		void SetRadialItemCard( Widget widget )	{		m_RadialMenuItemCard = widget;	}		string GetItemName()	{		return m_ItemName;	}}class RadialQuickbarMenu extends UIScriptedMenu{	protected Widget 								m_ItemCardPanel;	protected ref array<ref RadialQuickbarItem> 	m_Items;	protected Widget 								m_ToolbarPanel;		protected bool 									m_IsMenuClosing;	protected int 									m_CurrentCategory;	//	const string 									TEXT_ITEM_NAME	= "ItemName";	const string 									TEXT_ITEM_TITLE	= "ItemTitle";	//selections	protected Widget 								m_SelectedItem;	static EntityAI									m_ItemToAssign;		//instance	static RadialQuickbarMenu						instance;		//============================================	// RadialQuickbarMenu	//============================================	void RadialQuickbarMenu()	{		m_Items = new ref array<ref RadialQuickbarItem>;		m_CurrentCategory = RadialQuickbarCategory.DEFAULT;				if ( !instance )		{			instance = this;		}		GetGame().GetMission().GetOnInputPresetChanged().Insert(OnInputPresetChanged);	}		void ~RadialQuickbarMenu()	{		if (GetGame() && GetGame().GetMission())		{			GetGame().GetMission().RemoveActiveInputExcludes({"radialmenu"},false);		}	}		static void SetItemToAssign( EntityAI item )	{		m_ItemToAssign = item;	}		static EntityAI GetItemToAssign()	{		return m_ItemToAssign;	}		static RadialQuickbarMenu GetMenuInstance()	{		return instance;	}		protected void OnInputPresetChanged()	{		#ifdef PLATFORM_CONSOLE		UpdateControlsElements();		#endif	}	//============================================	// Menu Controls	//============================================		static void OpenMenu( UIScriptedMenu parent = NULL )	{		GetGame().GetUIManager().EnterScriptedMenu( MENU_RADIAL_QUICKBAR, parent );	}		static void CloseMenu()	{		GetGame().GetUIManager().Back();		//GetGame().GetMission().RemoveActiveInputExcludes({"radialmenu"},false);	}			//============================================	// Init & Widget Events	//============================================	override Widget Init()	{		layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/radial_menu/radial_quickbar/radial_quickbar_menu.layout");		m_ItemCardPanel = layoutRoot.FindAnyWidget(RadialMenu.RADIAL_ITEM_CARD_CONTAINER);				//register gestures menu		RadialMenu.GetInstance().RegisterClass(this);				//delay updates until fully initialized		RadialMenu.GetInstance().SetWidgetInitialized(false);				//set radial menu properties		RadialMenu.GetInstance().SetWidgetProperties("gui/layouts/radial_menu/radial_quickbar/radial_quickbar_delimiter.layout");		//create content (widgets) for items		RefreshQuickbar();				//set controller toolbar icons		UpdateControlsElements();				m_ToolbarPanel = layoutRoot.FindAnyWidget( "toolbar_bg" );		m_ToolbarPanel.Show( true );						return layoutRoot;	}		override void OnShow()	{		super.OnShow();				Mission mission = GetGame().GetMission();		if (mission)		{			IngameHud hud = IngameHud.Cast(mission.GetHud());			if (hud)			{				hud.ShowQuickbarUI(false);			}		}				SetFocus(layoutRoot);		m_IsMenuClosing = false;	}		override void OnHide()	{		super.OnHide();				Mission mission = GetGame().GetMission();		if (mission)		{			IngameHud hud = IngameHud.Cast(mission.GetHud());			if (hud)			{				hud.ShowQuickbarUI(true);			}		}				//reset item to assign		RadialQuickbarMenu.SetItemToAssign(NULL);		m_IsMenuClosing = true;	}		override bool OnController( Widget w, int control, int value )	{		super.OnController( w, control, value );				RadialMenu.GetInstance().SetControlType( RadialMenuControlType.CONTROLLER );		return false;	}				override bool OnMouseEnter( Widget w, int x, int y )	{		super.OnMouseEnter( w, x, y );				RadialMenu.GetInstance().SetControlType( RadialMenuControlType.MOUSE );		return false;	}		override bool UseMouse()	{		return true;	}		override bool UseGamepad()	{		return true;	}			//============================================	// Content	//============================================	//reset_selection - if false, selected quick bar item will be remembered after content refresh	protected void RefreshQuickbar( bool reset_selection = true )	{		int selected_item_id = -1;		if ( !reset_selection )		{			RadialQuickbarItem quickbar_item;			if ( instance.m_SelectedItem )			{				instance.m_SelectedItem.GetUserData( quickbar_item );				selected_item_id = quickbar_item.GetId();			}		}				GetItems( m_Items );		//CheckForLightsAndNVG( m_Items );		CreateContent( selected_item_id );	}			//	//	ITEMS	//	protected void GetItems( out array<ref RadialQuickbarItem> items )	{		items.Clear();				PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );		int size = player.GetQuickBarSize();		EntityAI entity;				for ( int i = 0; i < size; ++i )		{			entity = player.GetQuickBarEntity( i );						items.Insert( new RadialQuickbarItem( i, entity, "" ) );		}				CheckForLightsAndNVG(m_Items,i);	}		protected void CheckForLightsAndNVG( out array<ref RadialQuickbarItem> items, int last_idx )	{		PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );		int count = 0;		EntityAI entity;		ItemBase headgear = ItemBase.Cast(player.FindAttachmentBySlotName("Headgear"));		ItemBase eyewear = ItemBase.Cast(player.FindAttachmentBySlotName("Eyewear"));				//nvg - headgear check		if ( headgear )		{			entity = headgear.FindAttachmentBySlotName("NVG");			if (entity)			{				items.Insert( new RadialQuickbarItem( count, entity, "", RadialQuickbarCategory.SPECIALIZED_LIGHTS ) );				count++;			}		}		//nvg/light - eyewear check		if ( eyewear )		{			entity = eyewear.FindAttachmentBySlotName("NVG");			if (entity)			{				items.Insert( new RadialQuickbarItem( count, entity, "", RadialQuickbarCategory.SPECIALIZED_LIGHTS ) );				count++;			}			else if ( eyewear.IsLightSource() && eyewear.HasEnergyManager() && eyewear.GetCompEM().CanWork() )			{				entity = eyewear;				items.Insert( new RadialQuickbarItem( count, entity, "", RadialQuickbarCategory.SPECIALIZED_LIGHTS ) );				count++;			}		}		//light		if ( headgear )		{			if ( headgear.GetInventory().AttachmentCount() > 0 )			{				ItemBase attachment;				for (int i = 0; i < headgear.GetInventory().AttachmentCount(); i++)				{					attachment = ItemBase.Cast(headgear.GetInventory().GetAttachmentFromIndex(i));					if ( attachment && attachment.IsLightSource() && attachment.HasEnergyManager() && attachment.GetCompEM().CanWork() )					{						entity = attachment;						items.Insert( new RadialQuickbarItem( count, entity, "", RadialQuickbarCategory.SPECIALIZED_LIGHTS ) );						count++;					}				}			}		}				//Add a category switchers		if (m_CurrentCategory == RadialQuickbarCategory.DEFAULT && count > 0)		{			items.InsertAt( new RadialQuickbarItem(32,null,"#toggle_lights",RadialQuickbarCategory.DEFAULT,RadialQuickbarCategory.SPECIALIZED_LIGHTS),0 );		}		else if (m_CurrentCategory == RadialQuickbarCategory.SPECIALIZED_LIGHTS)		{			items.InsertAt( new RadialQuickbarItem(32,null,"#menu_back",RadialQuickbarCategory.SPECIALIZED_LIGHTS,RadialQuickbarCategory.DEFAULT),0 );		}	}		protected void CreateContent( int selected_item_id = -1 )	{		//delete existing content		DeleteItems();				int category_item_count;				for ( int i = 0; i < m_Items.Count(); ++i )		{			RadialQuickbarItem quickbar_item = m_Items.Get( i );						if (quickbar_item.GetItemCategory() == m_CurrentCategory)			{				//create item card				Widget item_card_widget = Widget.Cast( GetGame().GetWorkspace().CreateWidgets( "gui/layouts/radial_menu/radial_quickbar/radial_quickbar_item_card.layout", m_ItemCardPanel ) );				quickbar_item.SetRadialItemCard( item_card_widget );								//update item card widget				UpdateQuickbarItemCard( quickbar_item );								//set data				item_card_widget.SetUserData( quickbar_item );								//set selection				if ( quickbar_item.GetId() == selected_item_id )				{					MarkSelected( quickbar_item.GetRadialItemCard() );				}				category_item_count++;			}		}			//adjust radial parameters for content		if ( /*m_Items.Count()*/category_item_count > 0 ) 		{			RadialMenu radial_menu = RadialMenu.GetInstance();			radial_menu.SetRadiusOffset( 0 );			radial_menu.SetExecuteDistOffset( 0.5 );			radial_menu.SetOffsetFromTop( 0 );			radial_menu.SetItemCardRadiusOffset( 0.25 );			radial_menu.ActivateControllerTimeout( false );		}				//refresh radial menu		RadialMenu.GetInstance().Refresh( false );	}		protected void UpdateQuickbarItemCard( RadialQuickbarItem quickbar_item )	{		Widget item_card_widget = quickbar_item.GetRadialItemCard();		//get content panels		Widget item_details = item_card_widget.FindAnyWidget( "ItemDetails" );		TextWidget item_title = TextWidget.Cast( item_card_widget.FindAnyWidget( "ItemTitle" ) );				//set text		TextWidget text_widget = TextWidget.Cast( item_card_widget.FindAnyWidget( TEXT_ITEM_NAME ) );		EntityAI item = quickbar_item.GetItem();				Widget quantity_panel = item_card_widget.FindAnyWidget( "QuantityPanel" );		if ( item ) 		{			//item text			text_widget.SetText( quickbar_item.GetItem().GetDisplayName() );						//item preview			ItemPreviewWidget item_preview = ItemPreviewWidget.Cast( item_card_widget.FindAnyWidget( "ItemPreview" ) );			item_preview.SetItem( item );			item_preview.SetView( item.GetViewIndex() );			item_preview.SetModelOrientation( Vector( 0,0,0 ) );						//item quantity			Widget quantity_stack = quantity_panel.FindAnyWidget( "QuantityStackPanel" );			ProgressBarWidget quantity_bar = ProgressBarWidget.Cast( quantity_panel.FindAnyWidget( "QuantityBar" ) );			int has_quantity = QuantityConversions.HasItemQuantity( item );			//calculate and set quantity			if ( has_quantity == QUANTITY_HIDDEN )			{				quantity_panel.Show( false );			}			else if ( has_quantity == QUANTITY_COUNT )			{				//hide bar				quantity_bar.Show( false );								//show stack				TextWidget quantity_text = TextWidget.Cast( quantity_stack.FindAnyWidget( "Quantity" ) );				quantity_text.SetText( QuantityConversions.GetItemQuantityText( item ) );				quantity_stack.Show( true );			}			else if ( has_quantity == QUANTITY_PROGRESS )			{				//hide stack				quantity_stack.Show( false );								//show bar				float progress_max = quantity_bar.GetMax();				int max = item.ConfigGetInt( "varQuantityMax" );				int count = item.ConfigGetInt( "count" );				float quantity = QuantityConversions.GetItemQuantity( ItemBase.Cast( item ) );								if ( count > 0 )				{					max = count;				}				if ( max > 0 )				{					float value = Math.Round( ( quantity / max ) * 100 );					quantity_bar.SetCurrent( value );				}								quantity_bar.Show( true );			}						//display content panels			item_details.Show( true );			item_title.Show( false );		}		else if ( quickbar_item.GetCategorySwitchID() != -1 )		{			item_title.SetText( quickbar_item.GetItemName() );						item_details.Show( false );			item_title.Show( true );			}		else		{			item_title.SetText( "#container_empty" );						//display content panels			item_details.Show( false );			item_title.Show( true );					}				}		//Common	protected void DeleteItems()	{		Widget child;		Widget child_to_destroy;				child = m_ItemCardPanel.GetChildren();		while ( child )		{			child_to_destroy = child;			child = child.GetSibling();						delete child_to_destroy;		}			}		protected void ChangeCurrentCategory(int category)	{		m_CurrentCategory = category;		RefreshQuickbar(false);		UpdateControlsElements();	}		//============================================	// Radial Menu Events	//============================================	//Common	void OnControlsChanged( RadialMenuControlType type )	{	}		//Mouse	void OnMouseSelect( Widget w )	{		MarkSelected( w );	}	void OnMouseDeselect( Widget w )	{		UnmarkSelected( w );	}	void OnMouseExecute( Widget w )	{	}		//! LMB	void OnMousePressLeft( Widget w )	{		PrimaryAction( w );	}		//! RMB	void OnMousePressRight( Widget w )	{		BackOneLevel();	}		//Controller	void OnControllerSelect( Widget w )	{		MarkSelected( w );	}	void OnControllerDeselect( Widget w )	{		UnmarkSelected( w );	}	void OnControllerPressSelect( Widget w )	{		PrimaryAction( w );	}		void OnControllerPressBack( Widget w )	{		//SecondaryAction( w );		BackOneLevel();	}		//Actions	protected void MarkSelected( Widget w )	{		m_SelectedItem = w;				if (w)		{			RadialQuickbarItem quickbar_item;			w.GetUserData( quickbar_item );			ItemBase item;						if (quickbar_item && Class.CastTo(item,quickbar_item.GetItem()))			{				w.SetFlags(WidgetFlags.DISABLED);			}			else			{				w.ClearFlags(WidgetFlags.DISABLED);			}/*			//is not category			if ( quickbar_item )			{				if ( quickbar_item.GetItem() )				{					//alter item visual					TextWidget text_widget = TextWidget.Cast( quickbar_item.GetRadialItemCard().FindAnyWidget( TEXT_ITEM_NAME ) );					text_widget.SetColor( ARGB( 255, 66, 175, 95 ) );				}				else				{					//alter item visual					TextWidget title_widget = TextWidget.Cast( quickbar_item.GetRadialItemCard().FindAnyWidget( TEXT_ITEM_TITLE ) );					title_widget.SetColor( ARGB( 255, 66, 175, 95 ) );				}			}*/		}	}		protected void UnmarkSelected( Widget w )	{		m_SelectedItem = NULL;				/*		if ( w )		{			RadialQuickbarItem quickbar_item;			w.GetUserData( quickbar_item );			//is not category			if ( quickbar_item )			{							if ( quickbar_item.GetItem() )				{					//alter item visual					TextWidget text_widget = TextWidget.Cast( quickbar_item.GetRadialItemCard().FindAnyWidget( TEXT_ITEM_NAME ) );					text_widget.SetColor( ARGB( 255, 255, 255, 255 ) );				}				else				{					//alter item visual					TextWidget title_widget = TextWidget.Cast( quickbar_item.GetRadialItemCard().FindAnyWidget( TEXT_ITEM_TITLE ) );					title_widget.SetColor( ARGB( 255, 255, 255, 255 ) );									}			}		}		*/	}		protected void PrimaryAction( Widget w )	{		if ( instance.m_SelectedItem )		{			if ( !GetGame().IsDedicatedServer() )			{				RadialQuickbarItem quickbar_item;				instance.m_SelectedItem.GetUserData( quickbar_item );							if ( quickbar_item ) 				{					PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );										//ASSIGN ACTION					if ( GetItemToAssign() )					{						//assign item to slot						if ( quickbar_item.GetItem() == GetItemToAssign() )						{							player.RemoveQuickBarEntityShortcut( GetItemToAssign() );						}						else						{							player.SetQuickBarEntityShortcut( GetItemToAssign(), quickbar_item.GetId() );						}					}					//LIGHTS					else if (m_CurrentCategory == RadialQuickbarCategory.SPECIALIZED_LIGHTS && quickbar_item.IsLightSourceExtra())					{						HandleLights(quickbar_item);					}					//NVG					else if (m_CurrentCategory == RadialQuickbarCategory.SPECIALIZED_LIGHTS && quickbar_item.IsNVGExtra())					{						HandleNVG(quickbar_item);					}					//change quickbar category					else if (quickbar_item.GetCategorySwitchID() != -1)					{						ChangeCurrentCategory(quickbar_item.GetCategorySwitchID());						return;					}					//SWAP					else					{						EntityAI item = quickbar_item.GetItem();												if ( item )						{							//swap							player.RadialQuickBarSingleUse( quickbar_item.GetId() + 1 );				//id must begin with 1 (simulating key press 1-9)						}					}										RefreshQuickbar( false );				}			}		}	}		protected void SecondaryAction( Widget w )	{		if ( instance.m_SelectedItem && m_CurrentCategory == RadialQuickbarCategory.DEFAULT )		{			if ( !GetGame().IsDedicatedServer() )			{				RadialQuickbarItem quickbar_item;				instance.m_SelectedItem.GetUserData( quickbar_item );							if ( quickbar_item ) 				{					PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );					EntityAI item = quickbar_item.GetItem();										if ( item )					{						player.RadialQuickBarCombine( quickbar_item.GetId() + 1 );	//id must begin with 1 (simulating key press 1-9)						RefreshQuickbar( false );					}					}			}		}	}		// returns to default, missing hierarchy to properly traverse ATM	protected void BackOneLevel()	{		if (m_CurrentCategory != RadialQuickbarCategory.DEFAULT)		{			ChangeCurrentCategory(RadialQuickbarCategory.DEFAULT);		}	}		//-------------------------------------------	//NVG/Light handling extension	//-------------------------------------------	void HandleLights(RadialQuickbarItem quickbar_item)	{		PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());		ItemBase item = ItemBase.Cast(quickbar_item.GetItem());		ActionManagerClient mngr_client = ActionManagerClient.Cast(player.GetActionManager());		ActionTarget atrg;				if ( Headtorch_ColorBase.Cast(item) )				{			atrg = new ActionTarget(item,null,-1,vector.Zero,-1.0);			if ( mngr_client.GetAction(ActionTurnOnHeadtorch).Can(player,atrg,null) )			{				mngr_client.PerformActionStart(player.GetActionManager().GetAction(ActionTurnOnHeadtorch),atrg,null);			}			else if ( mngr_client.GetAction(ActionTurnOffHeadtorch).Can(player,atrg,null) )			{				mngr_client.PerformActionStart(player.GetActionManager().GetAction(ActionTurnOffHeadtorch),atrg,null);			}		}		else if ( Mich2001Helmet.Cast(item.GetHierarchyParent()) )		{			atrg = new ActionTarget(item.GetHierarchyParent(),null,-1,vector.Zero,-1.0);			if ( mngr_client.GetAction(ActionTurnOnHelmetFlashlight).Can(player,atrg,null) )			{				mngr_client.PerformActionStart(player.GetActionManager().GetAction(ActionTurnOnHelmetFlashlight),atrg,null);			}			else if ( mngr_client.GetAction(ActionTurnOffHelmetFlashlight).Can(player,atrg,null) )			{				mngr_client.PerformActionStart(player.GetActionManager().GetAction(ActionTurnOffHelmetFlashlight),atrg,null);			}		}	}		void HandleNVG(RadialQuickbarItem quickbar_item)	{		PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());		ActionManagerClient mngr_client = ActionManagerClient.Cast(player.GetActionManager());		ActionTarget atrg;				atrg = new ActionTarget(quickbar_item.GetItem().GetHierarchyParent(),null,-1,vector.Zero,-1.0);		if ( mngr_client.GetAction(ActionToggleNVG).Can(player,atrg,null) )		{			mngr_client.PerformActionStart(player.GetActionManager().GetAction(ActionToggleNVG),atrg,null);		}	}		bool IsMenuClosing()	{		return m_IsMenuClosing;	}		void SetMenuClosing(bool state)	{		m_IsMenuClosing = state;	}	protected void UpdateControlsElements()	{		Widget toolbarBackSpacer = layoutRoot.FindAnyWidget("BackSpacer");		RichTextWidget toolbarSelectIcon = RichTextWidget.Cast(layoutRoot.FindAnyWidget("SelectIcon"));		RichTextWidget toolbarBackIcon = RichTextWidget.Cast(layoutRoot.FindAnyWidget("BackIcon"));				string selectAction;		string backAction;		int controllerID;				if (GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() && GetGame().GetInput().GetCurrentInputDevice() == EInputDeviceType.MOUSE_AND_KEYBOARD)		{			selectAction = "UAMenuSelect";			backAction = "UAMenuBack";			controllerID = EUAINPUT_DEVICE_KEYBOARDMOUSE;		}		else		{			selectAction = "UAUISelect";			backAction = "UAUIBack";			controllerID = EUAINPUT_DEVICE_CONTROLLER;		}				toolbarSelectIcon.SetText(InputUtils.GetRichtextButtonIconFromInputAction(selectAction, "", controllerID, InputUtils.ICON_SCALE_TOOLBAR));		toolbarBackIcon.SetText(InputUtils.GetRichtextButtonIconFromInputAction(backAction, "", controllerID, InputUtils.ICON_SCALE_TOOLBAR));		toolbarBackSpacer.Show(m_CurrentCategory != RadialQuickbarCategory.DEFAULT);	}		override void OnPlayerDeath()	{		super.OnPlayerDeath();				// Close inventory menu when this menu got closed by the character death event as player could be assigning a item to the quickbar		// in the moment he dies and the inventory menu is opened too.		MissionGameplay missionGameplay = MissionGameplay.Cast(g_Game.GetMission());		if (missionGameplay && missionGameplay.GetInventory())		{			missionGameplay.HideInventory();		}	}}
 |