DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ProjectedCrosshair.c
См. документацию.
1class ProjectedCrosshair extends ScriptedWidgetEventHandler
2{
3 protected Widget m_Root;
4 protected vector m_Position;
5 protected bool m_Visible;
6 protected bool m_Debug;
7
8 protected PlayerBase m_Player;
9 protected Weapon_Base m_Weapon;
10
12 {
13 m_Player = NULL;
14 m_Weapon = NULL;
15 m_Visible = false;
16 m_Debug = false;
17
19 }
20
25
27 {
28 m_Root = w;
29 m_Root.SetHandler(this);
30 m_Root.Update();
31 }
32
34 protected void Update()
35 {
36#ifdef DIAG_DEVELOPER
37 m_Debug = DiagMenu.GetBool( DiagMenuIDs.WEAPON_DEBUG );
38#endif
39 if (!m_Debug) return;
40 if (!m_Player) GetPlayer();
41
42 if ( m_Player && m_Player.IsPlayerSelected() && m_Player.IsRaised() && !m_Player.IsInIronsights() && !GetGame().IsInventoryOpen() )
43 {
44 float sx, sy;
45
47 vector screenSpace = GetGame().GetScreenPos(m_Position);
48
49 m_Root.GetSize(sx, sy);
50 screenSpace[0] = screenSpace[0] - sx/2;
51 screenSpace[1] = screenSpace[1] - sy/2;
52
53 m_Root.SetPos(screenSpace[0], screenSpace[1]);
54 m_Root.Show(m_Visible);
55 }
56 else
57 {
58 m_Root.Show(false);
60 }
61 }
62
63 // getters
64 protected void GetPlayer()
65 {
67 }
68
69 protected void GetCrosshairPosition()
70 {
71 m_Visible = false;
72 ItemBase itemInHands;
73 itemInHands = m_Player.GetItemInHands();
74 if ( itemInHands && itemInHands.IsWeapon() )
75 {
76 if( Class.CastTo(m_Weapon, itemInHands) )
77 {
78 //m_Visible = MiscGameplayFunctions.GetProjectedCursorPos3d(m_Position, m_Weapon);
79 }
80 }
81 }
82};
DiagMenuIDs
Определения EDiagMenuIDs.c:2
vector m_Position
Cached world position.
Определения Effect.c:41
Widget m_Root
Определения SizeToChild.c:91
proto native vector GetScreenPos(vector world_pos)
Transforms position in world to position in screen in pixels as x, y component of vector,...
override ScriptInvoker GetUpdateQueue(int call_category)
Определения DayZGame.c:1192
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnDebug.c:233
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
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
void ~ProjectedCrosshair()
Определения ProjectedCrosshair.c:21
void Update(float timeslice)
Определения CTObjectFollower.c:36
void OnWidgetScriptInit(Widget w)
Определения ProjectedCrosshair.c:26
void GetCrosshairPosition()
Определения ProjectedCrosshair.c:69
Widget m_Root
Определения SizeToChild.c:9
Weapon_Base m_Weapon
Определения ProjectedCrosshair.c:9
vector m_Position
Определения CTKeyframe.c:7
void ProjectedCrosshair()
Определения ProjectedCrosshair.c:11
bool m_Visible
Определения ObjectFollower.c:7
void Update()
Update.
Определения ProjectedCrosshair.c:34
map: item x vector(index, width, height)
Определения EnWidgets.c:651
shorthand
Определения BoltActionRifle_Base.c:6
Определения EnWidgets.c:190
static const vector Zero
Определения EnConvert.c:110
Определения EnConvert.c:106
proto native CGame GetGame()
static proto bool GetBool(int id, bool reverse=false)
Get value as bool from the given script id.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
bool m_Visible
Определения EnEntity.c:850
const int CALL_CATEGORY_GUI
Определения tools.c:9
WorkspaceWidget Widget
Defined in code.