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

Защищенные члены

void Bot (PlayerBase ow)
 
void SetInstanceType (DayZPlayerInstanceType t)
 
void Start ()
 
void Stop ()
 
void StartAction (int action)
 
void OnUpdate (float dt)
 
void AddTransition (BotStateBase state, int id)
 
bool ProcessEvent (BotEventBase e)
 
void InitFSM ()
 

Защищенные данные

ref BotFSM m_FSM = null
 
DayZPlayerInstanceType m_InstanceType = DayZPlayerInstanceType.INSTANCETYPE_CLIENT
 
ref BotStateBase m_IdleState = null
 
ref BotEventBase ___Bgn__ = new BotEventStart
 
ref BotEventBase __Stop__ = new BotEventStop
 
ref BotEventBase ___OK___ = new BotEventEndOK
 
ref BotEventBase __Fail__ = new BotEventEndFail
 
ref BotEventBase __Tout__ = new BotEventEndTimeout
 
ref BotEventBase __IChg__ = new BotEventOnItemInHandsChanged
 

Закрытые данные

PlayerBase m_Owner = null
 

Подробное описание

Конструктор(ы)

◆ Bot()

void Bot ( PlayerBase ow)
inlineprotected
27 {
28 m_Owner = ow;
29 }
PlayerBase m_Owner
Definition Bot.c:20
Definition EntityAI.c:95

Перекрестные ссылки m_Owner.

Методы

◆ AddTransition()

void AddTransition ( BotStateBase state,
int id )
inlineprotected
69 {
71
72 m_FSM.AddTransition(new BotTransition(m_IdleState, evt, state, null, new BotGuardDebugEventMatches(evt)));
73
74 m_FSM.AddTransition(new BotTransition(state, ___OK___, m_IdleState));
75 m_FSM.AddTransition(new BotTransition(state, __Fail__, m_IdleState));
76 m_FSM.AddTransition(new BotTransition(state, __Tout__, m_IdleState));
77
78 m_FSM.AddTransition(new BotTransition(state, __Stop__, m_IdleState));
79 }
FSMTransition< BotStateBase, BotEventBase, BotActionBase, BotGuardBase > BotTransition
Definition BotFSM.c:7
Definition BotEvents.c:25
ref BotEventBase __Tout__
Definition Bot.c:65
ref BotEventBase __Stop__
Definition Bot.c:62
ref BotFSM m_FSM
Definition Bot.c:21
ref BotStateBase m_IdleState
Definition Bot.c:24
ref BotEventBase ___OK___
Definition Bot.c:63
ref BotEventBase __Fail__
Definition Bot.c:64

Перекрестные ссылки ___OK___, __Fail__, __Stop__, __Tout__, m_FSM и m_IdleState.

Используется в InitFSM().

◆ InitFSM()

void InitFSM ( )
inlineprotected

transition table

Перекрестные ссылки AddTransition(), m_FSM и m_IdleState.

Используется в Start().

◆ OnUpdate()

void OnUpdate ( float dt)
inlineprotected
56 {
57 m_FSM.GetCurrentState().OnUpdate(dt);
58 }

Перекрестные ссылки m_FSM.

◆ ProcessEvent()

bool ProcessEvent ( BotEventBase e)
inlineprotected
108 {
109 if (m_FSM.ProcessEvent(e) == ProcessEventResult.FSM_OK)
110 {
111 botDebugSpam("[botfsm] Processed event e=" + e.ToString());
112 return true;
113 }
114 else
115 {
116 botDebugSpam("[botfsm] FSM refused to process event (no transition): src=" + m_FSM.GetCurrentState().ToString() + " event=" + e.ToString());
117 return false;
118 }
119 }
void botDebugSpam(string s)
Definition Bot.c:131
ProcessEventResult
Definition FSMBase.c:41

Перекрестные ссылки botDebugSpam() и m_FSM.

Используется в StartAction().

◆ SetInstanceType()

void SetInstanceType ( DayZPlayerInstanceType t)
inlineprotected
31{ m_InstanceType = t; }
DayZPlayerInstanceType m_InstanceType
Definition Bot.c:22

Перекрестные ссылки m_InstanceType.

◆ Start()

void Start ( )
inlineprotected
34 {
35 InitFSM();
36 }
void InitFSM()
Definition Bot.c:81

Перекрестные ссылки InitFSM().

◆ StartAction()

void StartAction ( int action)
inlineprotected
44 {
45 switch (action)
46 {
47 case EActions.PLAYER_BOT_STOP_CURRENT:
49 return;
50 }
51
53 }
EActions
Definition EActions.c:2
Definition BotEvents.c:17
bool ProcessEvent(BotEventBase e)
Definition Bot.c:107

Перекрестные ссылки m_Owner и ProcessEvent().

◆ Stop()

void Stop ( )
inlineprotected
39 {
40 m_FSM.Terminate();
41 }

Перекрестные ссылки m_FSM.

Поля

◆ ___Bgn__

ref BotEventBase ___Bgn__ = new BotEventStart
protected

◆ ___OK___

ref BotEventBase ___OK___ = new BotEventEndOK
protected

Используется в AddTransition().

◆ __Fail__

ref BotEventBase __Fail__ = new BotEventEndFail
protected

Используется в AddTransition().

◆ __IChg__

◆ __Stop__

ref BotEventBase __Stop__ = new BotEventStop
protected

Используется в AddTransition().

◆ __Tout__

ref BotEventBase __Tout__ = new BotEventEndTimeout
protected

Используется в AddTransition().

◆ m_FSM

ref BotFSM m_FSM = null
protected

Используется в AddTransition(), InitFSM(), OnUpdate(), ProcessEvent() и Stop().

◆ m_IdleState

ref BotStateBase m_IdleState = null
protected

Используется в AddTransition() и InitFSM().

◆ m_InstanceType

Используется в SetInstanceType().

◆ m_Owner

PlayerBase m_Owner = null
private

Используется в Bot(), BotStateIdle::BotStateIdle() и StartAction().


Объявления и описания членов класса находятся в файле: