123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- class RightArea: Container
- {
- ref PlayerContainer m_PlayerContainer;
- protected Widget m_ContentParent;
-
- protected ScrollWidget m_ScrollWidget;
- protected Widget m_UpIcon;
- protected Widget m_DownIcon;
-
- protected ref SizeToChild m_ContentResize;
- protected bool m_ShouldChangeSize = true;
- protected bool m_ProcessGridMovement;
-
- void RightArea(LayoutHolder parent)
- {
- m_MainWidget.Show(true);
- m_ScrollWidget = ScrollWidget.Cast( m_MainWidget.FindAnyWidget( "Scroller" ) );
- m_MainWidget = m_MainWidget.FindAnyWidget("Content");
- //m_ContentParent = m_RootWidget.FindAnyWidget("ContentParent");
- m_PlayerContainer = new PlayerContainer(this, false);
- m_PlayerContainer.SetPlayer(PlayerBase.Cast(GetGame().GetPlayer()));
- m_Body.Insert(m_PlayerContainer);
- m_ActiveIndex = 0;
- m_ProcessGridMovement = false;
-
- m_UpIcon = m_RootWidget.FindAnyWidget( "Up" );
- m_DownIcon = m_RootWidget.FindAnyWidget( "Down" );
-
- //m_ContentParent.GetScript( m_ContentResize );
-
- RecomputeOpenedContainers();
- }
-
- PlayerContainer GetPlayerContainer()
- {
- return m_PlayerContainer;
- }
-
- override void DraggingOverHeader(Widget w, int x, int y, Widget receiver)
- {
- m_PlayerContainer.DraggingOverHeader(w, x, y, receiver);
- }
-
- override bool Select()
- {
- return m_PlayerContainer.Select();
- }
-
- override bool SelectItem()
- {
- return m_PlayerContainer.SelectItem();
- }
-
- override bool Combine()
- {
- return m_PlayerContainer.Combine();
- }
-
- override bool SplitItem()
- {
- return m_PlayerContainer.SplitItem();
- }
-
- override bool EquipItem()
- {
- return m_PlayerContainer.EquipItem();
- }
-
- override bool TransferItem()
- {
- return m_PlayerContainer.TransferItem();
- }
-
- override bool InspectItem()
- {
- return m_PlayerContainer.InspectItem();
- }
-
- override bool TransferItemToVicinity()
- {
- return m_PlayerContainer.TransferItemToVicinity();
- }
-
- override void UnfocusGrid()
- {
- m_PlayerContainer.UnfocusGrid();
- }
-
- override bool CanTakeToInventory()
- {
- return false;
- }
-
- override bool CanTakeToInventoryEx(EntityAI focusedEntity)
- {
- return false;
- }
-
- bool HasEntityContainerVisible(EntityAI entity)
- {
- return m_PlayerContainer.HasEntityContainerVisible(entity);
- }
-
- void SwapItemsInOrder(int slot1, int slot2)
- {
- m_PlayerContainer.SwapItemsInOrder(slot1, slot2);
- }
-
- bool IsPlayerEquipmentActive()
- {
- return m_PlayerContainer.IsPlayerEquipmentActive();
- }
-
- override void SetSameLevelNextActive()
- {
- m_PlayerContainer.SetSameLevelNextActive();
- Refresh();
- }
- override void SetSameLevelPreviousActive()
- {
- m_PlayerContainer.SetSameLevelPreviousActive();
- Refresh();
- }
-
- override void ExpandCollapseContainer()
- {
- m_PlayerContainer.ExpandCollapseContainer();
- }
-
- override void Refresh()
- {
- m_ScrollWidget.Update();
- m_PlayerContainer.Refresh();
- m_ShouldChangeSize = true;
- }
- override void SetLayoutName()
- {
- #ifdef PLATFORM_CONSOLE
- m_LayoutName = WidgetLayoutName.RightAreaXbox;
- #else
- switch (InventoryMenu.GetWidthType())
- {
- case ScreenWidthType.NARROW:
- m_LayoutName = WidgetLayoutName.RightAreaNarrow;
- break;
- case ScreenWidthType.MEDIUM:
- m_LayoutName = WidgetLayoutName.RightAreaMedium;
- break;
- case ScreenWidthType.WIDE:
- m_LayoutName = WidgetLayoutName.RightAreaWide;
- break;
- }
- #endif
-
- }
- override void SetParentWidget()
- {
- m_ParentWidget = m_Parent.GetMainWidget().FindAnyWidget("RightPanel");
- }
- override void OnShow()
- {
- super.OnShow();
- Refresh();
- }
-
- override void UpdateInterval()
- {
- super.UpdateInterval();
- m_PlayerContainer.UpdateInterval();
-
- CheckScrollbarVisibility();
- }
-
- void MoveUpDownIcons()
- {
- if (m_UpIcon && m_DownIcon)
- {
- m_UpIcon.Show( m_IsActive );
- m_DownIcon.Show( m_IsActive );
- if( m_IsActive )
- {
- float x, y;
- m_UpIcon.GetScreenSize( x, y );
-
- float top_y = GetCurrentContainerTopY();
- m_UpIcon.SetPos( 0, Math.Clamp( top_y, 0, 99999 ) );
-
- #ifndef PLATFORM_CONSOLE
- float x2, y2;
- m_DownIcon.GetScreenSize( x2, y2 );
- float bottom_y = GetCurrentContainerBottomY() - y2;
-
- float diff = bottom_y - ( top_y + y );
- if( diff < 0 )
- {
- top_y += diff / 2;
- bottom_y -= diff / 2;
- }
- m_DownIcon.SetPos( 0, bottom_y );
- #endif
- }
- }
- /*else
- {
- ErrorEx("up/down icons not present!");
- }
- #else
- m_ScrollWidget.Update();
- #endif*/
-
- }
-
- override ScrollWidget GetScrollWidget()
- {
- return m_ScrollWidget;
- }
-
- override void UpdateSelectionIcons()
- {
- #ifdef PLATFORM_CONSOLE
- ScrollToActiveContainer();
- #endif
- MoveUpDownIcons();
- }
-
- float GetCurrentContainerTopY()
- {
- float x, y;
- GetMainWidget().Update();
- GetMainWidget().GetScreenPos( x, y );
- float cont_screen_pos = GetFocusedContainerYScreenPos();
-
- return cont_screen_pos - y;
- }
-
- float GetCurrentContainerBottomY()
- {
- float x, y;
- GetMainWidget().Update();
- GetMainWidget().GetScreenPos( x, y );
-
- float cont_screen_pos = GetFocusedContainerYScreenPos();
- float cont_screen_height = GetFocusedContainerHeight();
- return cont_screen_pos - y + cont_screen_height;
- }
- }
|