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

◆ Do()

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

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

396 {
397 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?
398 {
399#ifdef ENABLE_LOGGING
400 if ( LogManager.IsActionLogEnable() )
401 {
402 Debug.ActionLog("ABRUPT CANCEL, CONDITIONS NOT MET", this.ToString() , "n/a", "Do", action_data.m_Player.ToString() );
403 }
404#endif
405 if ( action_data.m_Callback && action_data.m_Player )
406 {
407 action_data.m_Callback.Interrupt();
408 }
409 else
410 {
411 Debug.ActionLog("PLAYER LOST", this.ToString() , "n/a", "Do", "n/a" );
412 }
413 }
414 else
415 {
416 switch ( state )
417 {
418 case UA_PROCESSING:
419 if ( CanContinue(action_data) )
420 {
422 InformPlayers(action_data.m_Player, action_data.m_Target, UA_PROCESSING);
423 }
424 else
425 {
426 action_data.m_Callback.Interrupt();
427 InformPlayers(action_data.m_Player, action_data.m_Target, UA_CANCEL);
428 Do(action_data, UA_CANCEL);
429 }
430 break;
431
432 case UA_FINISHED:
433 InformPlayers(action_data.m_Player,action_data.m_Target,UA_FINISHED);
434 action_data.m_Callback.EndActionComponent();
435 break;
436
437 case UA_CANCEL:
438 InformPlayers(action_data.m_Player,action_data.m_Target,UA_CANCEL);
439 action_data.m_Callback.EndActionComponent();
440 break;
441
442 case UA_INITIALIZE:
443 if ( !CanContinue(action_data) )
444 {
445 action_data.m_Callback.Interrupt();
446 InformPlayers(action_data.m_Player, action_data.m_Target, UA_CANCEL);
447 Do(action_data, UA_CANCEL);
448 }
449 default:
450 Debug.ActionLog("Action component returned wrong value", this.ToString() , "n/a", "Do", action_data.m_Player.ToString() );
451 action_data.m_Callback.Interrupt();
452 break;
453 }
454 }
455 }
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:975
string Debug()
Определения CachedEquipmentStorageBase.c:26
proto string ToString()
void ProgressActionComponent()
Определения AnimatedActionBase.c:72
void EndActionComponent()
Определения AnimatedActionBase.c:80
void Interrupt()
Определения AnimatedActionBase.c:85
PlayerBase m_Player
Определения ActionBase.c:40
ActionBaseCB m_Callback
Определения ActionBase.c:36
ref ActionTarget m_Target
Определения ActionBase.c:39
ref CABase m_ActionComponent
Определения ActionBase.c:37
void Do(ActionData action_data, int state)
Определения AnimatedActionBase.c:395
const int UA_FINISHED
Определения 3_Game/DayZ/constants.c:498
const int UA_ERROR
Определения 3_Game/DayZ/constants.c:519
const int UA_INITIALIZE
Определения 3_Game/DayZ/constants.c:506
const int UA_PROCESSING
Определения 3_Game/DayZ/constants.c:496
const int UA_CANCEL
Определения 3_Game/DayZ/constants.c:499

Перекрестные ссылки Debug::ActionLog(), CanContinue(), Do(), ActionBaseCB::EndActionComponent(), InformPlayers(), ActionBaseCB::Interrupt(), LogManager::IsActionLogEnable(), ActionData::m_ActionComponent, ActionData::m_Callback, ActionData::m_Player, ActionData::m_Target, ActionBaseCB::ProgressActionComponent(), ToString(), UA_CANCEL, UA_ERROR, UA_FINISHED, UA_INITIALIZE и UA_PROCESSING.

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