DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ Do()

void AnimatedActionBase::Do ( ActionData action_data,
int state )
inlineprotected

См. определение в файле AnimatedActionBase.c строка 382

383 {
384 if ( state == UA_ERROR || !action_data.m_Callback || !action_data.m_Player || !action_data.m_ActionComponent ) //jtomasik - tohle mozna muze byt v CancelCondtion metodu callbacku?
385 {
386#ifdef ENABLE_LOGGING
387 if ( LogManager.IsActionLogEnable() )
388 {
389 Debug.ActionLog("ABRUPT CANCEL, CONDITIONS NOT MET", this.ToString() , "n/a", "Do", action_data.m_Player.ToString() );
390 }
391#endif
392 if ( action_data.m_Callback && action_data.m_Player )
393 {
394 action_data.m_Callback.Interrupt();
395 }
396 else
397 {
398 Debug.ActionLog("PLAYER LOST", this.ToString() , "n/a", "Do", action_data.m_Player.ToString() );
399 }
400 }
401 else
402 {
403 switch ( state )
404 {
405 case UA_PROCESSING:
406 if ( CanContinue(action_data) )
407 {
408 action_data.m_Callback.ProgressActionComponent();
409 InformPlayers(action_data.m_Player, action_data.m_Target, UA_PROCESSING);
410 }
411 else
412 {
413 action_data.m_Callback.Interrupt();
414 InformPlayers(action_data.m_Player, action_data.m_Target, UA_CANCEL);
415 Do(action_data, UA_CANCEL);
416 }
417 break;
418
419 case UA_FINISHED:
420 InformPlayers(action_data.m_Player,action_data.m_Target,UA_FINISHED);
421 action_data.m_Callback.EndActionComponent();
422 break;
423
424 case UA_CANCEL:
425 InformPlayers(action_data.m_Player,action_data.m_Target,UA_CANCEL);
426 action_data.m_Callback.EndActionComponent();
427 break;
428
429 case UA_INITIALIZE:
430 if ( !CanContinue(action_data) )
431 {
432 action_data.m_Callback.Interrupt();
433 InformPlayers(action_data.m_Player, action_data.m_Target, UA_CANCEL);
434 Do(action_data, UA_CANCEL);
435 }
436 default:
437 Debug.ActionLog("Action component returned wrong value", this.ToString() , "n/a", "Do", action_data.m_Player.ToString() );
438 action_data.m_Callback.Interrupt();
439 break;
440 }
441 }
442 }
proto string ToString()
void Debug()
Определения UniversalTemperatureSource.c:349
void InformPlayers(PlayerBase player, ActionTarget target, int state)
DEPRECATED delivers message ids to clients based on given context.
bool CanContinue(ActionData action_data)
Определения ActionBase.c:907
void Do(ActionData action_data, int state)
Определения AnimatedActionBase.c:382
const int UA_FINISHED
Определения constants.c:464
const int UA_ERROR
Определения constants.c:483
const int UA_INITIALIZE
Определения constants.c:472
const int UA_PROCESSING
Определения constants.c:462
const int UA_CANCEL
Определения constants.c:465

Перекрестные ссылки ActionData, Debug::ActionLog(), ActionBase::CanContinue(), Do(), ActionBase::InformPlayers(), LogManager::IsActionLogEnable(), ToString(), UA_CANCEL, UA_ERROR, UA_FINISHED, UA_INITIALIZE и UA_PROCESSING.

Используется в ActionContinuousBaseCB::CancelCondition(), ActionInteractLoopBaseCB::CancelCondition() и Do().