DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ClosableHeader.c
См. документацию.
2{
3 protected float m_SquareSize;
4 protected int m_DefaultSort;
5
6 protected Widget m_MovePanel;
9 protected ButtonWidget m_MoveUp;
10 protected ButtonWidget m_MoveDown;
11
12 protected bool m_IsInLocalEquipment;
13
14 void ClosableHeader( LayoutHolder parent, string function_name )
15 {
16 m_MovePanel = GetMainWidget().FindAnyWidget( "MovePanel" );
17 m_PanelWidget = GetMainWidget().FindAnyWidget( "PanelWidget" );
18 m_DragRender = GetMainWidget().FindAnyWidget( "Drag_Render" );
19 m_MoveUp = ButtonWidget.Cast( GetMainWidget().FindAnyWidget( "MoveUp" ) );
20 m_MoveDown = ButtonWidget.Cast( GetMainWidget().FindAnyWidget( "MoveDown" ) );
21
26
27 WidgetEventHandler.GetInstance().RegisterOnDrag( GetMainWidget() , this, "OnDragHeader" );
28 WidgetEventHandler.GetInstance().RegisterOnDrop( GetMainWidget() , this, "OnDropHeader" );
29
30 WidgetEventHandler.GetInstance().RegisterOnMouseEnter( GetMainWidget(), this, "MouseEnter" );
31 WidgetEventHandler.GetInstance().RegisterOnMouseLeave( GetMainWidget(), this, "MouseLeave" );
32
33 float temp;
34 GetMainWidget().GetScreenSize( temp, m_SquareSize );
35
36 m_DefaultColor = m_PanelWidget.GetColor();
38
40 m_IsInLocalEquipment = GetParent().GetParent().GetParent().IsInherited( RightArea );
41 }
42
44 {
45 if( InventoryItem.Cast( m_Entity ) )
46 InventoryItem.Cast( m_Entity ).GetOnItemFlipped().Remove( UpdateFlip );
47 }
48
49 override void SetLayoutName()
50 {
51 m_LayoutName = WidgetLayoutName.ClosableHeader;
52 }
53
54 override void SetName( string name )
55 {
56 name.ToUpper();
57
58 m_HeaderText.SetText( name );
59 m_HeaderText.Update();
60
61 float x, y;
62 m_HeaderText.GetScreenSize( x, y );
63 m_PanelWidget.SetSize( 1, y + InventoryMenu.GetHeightMultiplied( 10 ) );
64 }
65
66 void OnDragHeader( Widget w, int x, int y )
67 {
69 if( parent && GetMainWidget() && m_Entity )
70 {
71 ItemPreviewWidget item_preview_drag = ItemPreviewWidget.Cast( m_DragRender );
72 item_preview_drag.SetFlags(WidgetFlags.EXACTPOS );
73 m_DefaultSort = GetRootWidget().GetSort();
74 item_preview_drag.GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().AddChild( GetRootWidget() );
75 if( item_preview_drag && m_Entity )
76 {
77 item_preview_drag.SetItem( m_Entity );
78 item_preview_drag.SetView( m_Entity.GetViewIndex() );
79 }
80
82
83 parent.HideContent( true );
84
85 m_PanelWidget.Show( false );
86 if( item_preview_drag )
87 item_preview_drag.Show( true );
88
89 int ww, hh;
91 if( item_preview_drag )
92 {
93 m_Entity.GetOnItemFlipped().Insert( UpdateFlip );
94 if( m_Entity.GetInventory().GetFlipCargo() )
95 {
96 item_preview_drag.SetSize( hh * m_SquareSize, ww * m_SquareSize );
97 }
98 else
99 {
100 item_preview_drag.SetSize( ww * m_SquareSize, hh * m_SquareSize );
101 }
102 }
103 }
104 }
105
106 void UpdateFlip( bool flipped )
107 {
108 ItemPreviewWidget item_preview_drag = ItemPreviewWidget.Cast( m_DragRender );
109 if( InventoryItem.Cast( m_Entity ) && item_preview_drag )
110 {
111 int ww, hh;
113 if( flipped )
114 {
115 item_preview_drag.SetSize( hh * m_SquareSize, ww * m_SquareSize );
116 }
117 else
118 {
119 item_preview_drag.SetSize( ww * m_SquareSize, hh * m_SquareSize );
120 }
121 }
122 }
123
125 {
127 parent.GetMainWidget().AddChild( GetRootWidget() );
128 GetRootWidget().SetSort( 0 );
129 if( parent )
130 {
131 //
132 ItemPreviewWidget item_preview_drag = ItemPreviewWidget.Cast( m_DragRender );
133 if( item_preview_drag )
134 {
135 item_preview_drag.SetItem( null );//TODO: is this safe?
136 }
137 //
138
139 m_PanelWidget.Show( true );
140 m_DragRender.Show( false );
141
142 parent.ShowContent( true );
143
146 }
147 if( InventoryItem.Cast( m_Entity ) )
148 InventoryItem.Cast( m_Entity ).GetOnItemFlipped().Remove( UpdateFlip );
149 }
150
151 bool MouseEnter(Widget w, int x, int y)
152 {
154 {
155 #ifdef PLATFORM_CONSOLE
156 m_MovePanel.Show( GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() );
157 #else
158 m_MovePanel.Show( true );
159 #endif
160 }
161 PrepareOwnedTooltip( m_Entity, x, y );
162 return true;
163 }
164
165 bool MouseLeave( Widget w, Widget enter_w, int x, int y )
166 {
167 if( enter_w != m_MoveUp && enter_w != m_MoveDown && enter_w != m_CollapseButton )
168 {
170 {
171 m_MovePanel.Show( false );
172 }
173 }
174 HideOwnedTooltip();
175 return true;
176 }
177
178 override void SetActive( bool active )
179 {
180 super.SetActive( active );
181 if( active )
182 {
183 m_PanelWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
184 }
185 else
186 {
187 m_PanelWidget.SetColor( m_DefaultColor );
188 }
189 }
190}
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Icon x
Icon y
void InventoryMenu()
Определения InventoryMenu.c:20
Widget m_Parent
Определения SizeToChild.c:92
proto void GetInventoryItemSize(InventoryItem item, out int width, out int height)
float m_SquareSize
Определения ClosableHeader.c:3
override void SetActive(bool active)
Определения ClosableHeader.c:178
Widget m_DragRender
Определения ClosableHeader.c:8
Widget m_MovePanel
Определения ClosableHeader.c:6
ButtonWidget m_MoveUp
Определения ClosableHeader.c:9
int m_DefaultSort
Определения ClosableHeader.c:4
void OnDropHeader(Widget w)
Определения ClosableHeader.c:124
void UpdateFlip(bool flipped)
Определения ClosableHeader.c:106
Widget m_PanelWidget
Определения ClosableHeader.c:7
bool MouseEnter(Widget w, int x, int y)
Определения ClosableHeader.c:151
bool m_IsInLocalEquipment
Определения ClosableHeader.c:12
void OnDragHeader(Widget w, int x, int y)
Определения ClosableHeader.c:66
void ClosableHeader(LayoutHolder parent, string function_name)
Определения ClosableHeader.c:14
ButtonWidget m_MoveDown
Определения ClosableHeader.c:10
void ~ClosableHeader()
Определения ClosableHeader.c:43
override void SetLayoutName()
Определения ClosableHeader.c:49
override void SetName(string name)
Определения ClosableHeader.c:54
bool MouseLeave(Widget w, Widget enter_w, int x, int y)
Определения ClosableHeader.c:165
EntityAI m_Entity
Определения Header.c:6
int m_DefaultFontSize
Определения Header.c:4
int m_DefaultColor
Определения Header.c:3
Widget m_CollapseButton
Определения Header.c:8
TextWidget m_HeaderText
Определения Header.c:11
void Header(LayoutHolder parent, string function_name)
Определения Header.c:13
Определения ItemBase.c:15
void HideDropzones()
Определения ItemManager.c:287
void SetIsDragging(bool is_dragging)
Определения ItemManager.c:383
static ItemManager GetInstance()
Определения ItemManager.c:282
Определения ItemManager.c:2
proto native void SetView(int viewIndex)
proto native void SetItem(EntityAI object)
Определения gameplay.c:277
Определения Container.c:2
Определения RightArea.c:2
void RegisterOnClick(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:133
void RegisterOnMouseLeave(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:126
void RegisterOnDrag(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:98
void RegisterOnDrop(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:105
static WidgetEventHandler GetInstance()
Определения WidgetEventHandler.c:22
void RegisterOnMouseEnter(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:119
Определения EnWidgets.c:190
const string ClosableHeader
Определения WidgetLayoutName.c:44
proto native CGame GetGame()
proto native Widget GetParent()
Get parent of the Effect.
Определения Effect.c:407
WidgetFlags
Определения EnWidgets.c:58
proto native Widget FindAnyWidget(string pathname)
proto native Widget GetDragWidget()
int ARGBF(float fa, float fr, float fg, float fb)
Converts <0.0, 1.0> ARGB into color.
Определения proto.c:332