DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ContinuousActionProgress.c
См. документацию.
1class ContinuousActionProgress extends ScriptedWidgetEventHandler
2{
3 reference string RadialBarWidgetName;
4
7 protected int m_ActionState;
9
10 protected ref WidgetFadeTimer m_FadeTimer;
11 protected bool m_Faded;
12
13 protected float m_InitProgress;
14 protected float m_Speed;
15
16 protected Widget m_Root;
18 protected ImageWidget m_LoaderImage;
20
22 {
23 m_Action = null;
24 m_ActionState = -1;
25 m_AM = null;
26 m_RadialWidget = null;
27 m_LoaderImage = null;
28 m_Radial = null;
29 m_Speed = 0;
30 m_InitProgress = 100;
31
32 m_FadeTimer = new WidgetFadeTimer;
33 m_Faded = true;
34
36 }
37
42
43 protected void OnWidgetScriptInit(Widget w)
44 {
45 m_Root = w;
46 m_Root.SetHandler(this);
47 m_Root.Show(false);
48
49 m_RadialWidget = m_Root.FindAnyWidget("PBRadial1");
50 m_LoaderImage = ImageWidget.Cast( m_Root.FindAnyWidget("cap_init_loader") );
52 m_RadialWidget.GetScript(m_Radial);
53 m_Root.Update();
54 }
55
56 protected void Update()
57 {
60 IngameHud hud = IngameHud.Cast(mission.GetHud());
61 if (hud && hud.GetHudVisibility().IsContextFlagActive(IngameHudVisibility.HUD_HIDE_FLAGS))
62 {
63 m_Root.Show(false);
64 return;
65 }
66
67 if(m_Player && !m_Player.IsAlive()) // handle respawn
68 {
69 m_Player = null;
70 m_AM = null;
71 }
72 if(!m_Player) GetPlayer();
74
75 GetActions();
76
77 if(m_Action && m_Action.HasProgress() && m_ActionState != UA_NONE && GetGame().GetUIManager().GetMenu() == null)
78 {
80 {
81 m_Speed += 0.02;
82 m_LoaderImage.SetRotation(0, 0, m_Speed * Math.RAD2DEG);
83 m_LoaderImage.Show(true);
84 }
85 else
86 {
87 m_Speed = 0.0;
88 m_LoaderImage.SetRotation(0, 0, 0);
89 m_LoaderImage.Show(false);
90 }
91
93 {
94 m_InitProgress = 100;
95 m_LoaderImage.SetRotation(0, 0, 0);
96 SetProgress(Math.AbsFloat(m_AM.GetActionComponentProgress() * 100 * m_AM.GetACProgressWidgetMultiplier()));
97 }
98 m_Root.Show(true);
99 }
100 else
101 {
102 m_Speed = 0.0;
103 m_Root.Show(false);
104 m_LoaderImage.Show(false);
105 SetProgress(0.0);
106 m_LoaderImage.SetRotation(0, 0, 0);
107 }
108 }
109
110 // getters
111 private void GetPlayer()
112 {
114 }
115
116 private void GetActionManager()
117 {
118 if( m_Player && m_Player.IsPlayerSelected() )
119 {
120 Class.CastTo(m_AM, m_Player.GetActionManager());
121 }
122 else
123 m_AM = null;
124 }
125
126 private void GetActions()
127 {
128 if(!m_AM) return;
129
130 m_Action = null;
131 m_ActionState = -1;
132 m_Action = m_AM.GetRunningAction();
133
134 if(m_Action && m_Action.GetInput().GetInputType() == ActionInputType.AIT_CONTINUOUS)
135 m_ActionState = m_AM.GetActionState(m_Action);
136 else
137 m_Action = null;
138 }
139
140 private void SetProgress(float progress)
141 {
142 if(m_Radial)
143 m_Radial.SetProgress(progress);
144 }
145}
ActionInputType
Определения ActionInput.c:2
void ActionManagerBase(PlayerBase player)
Определения ActionManagerBase.c:63
Mission mission
Определения DisplayStatus.c:28
Определения ActionBase.c:53
override ScriptInvoker GetUpdateQueue(int call_category)
Определения DayZGame.c:1192
proto native Mission GetMission()
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnMath.c:7
Mission class.
Определения gameplay.c:687
Определения 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 SetProgress(float progress)
Определения ContinuousActionProgress.c:140
void Update(float timeslice)
Определения CTObjectFollower.c:36
void OnWidgetScriptInit(Widget w)
Определения ContinuousActionProgress.c:43
Widget m_Root
Определения SizeToChild.c:9
ref WidgetFadeTimer m_FadeTimer
Определения ContinuousActionProgress.c:10
ImageWidget m_LoaderImage
Определения ContinuousActionProgress.c:18
reference string RadialBarWidgetName
Определения ContinuousActionProgress.c:3
void ~ContinuousActionProgress()
Определения ContinuousActionProgress.c:38
ActionManagerBase m_AM
Определения ContinuousActionProgress.c:8
void ContinuousActionProgress()
Определения ContinuousActionProgress.c:21
ref RadialProgressBar m_Radial
Определения ContinuousActionProgress.c:19
map: item x vector(index, width, height)
Определения EnWidgets.c:651
Определения EnWidgets.c:190
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static const float RAD2DEG
Определения EnMath.c:16
static proto float AbsFloat(float f)
Returns absolute value.
const int CALL_CATEGORY_GUI
Определения tools.c:9
const int UA_INITIALIZE
Определения constants.c:472
const int UA_NONE
Определения constants.c:460
const int UA_AM_PENDING
Определения constants.c:474
const int UA_PROCESSING
Определения constants.c:462