public virtual void InitWithBehavior(UNBehaviorType bType, int priority = 0, UNBehaviorStateType bState = UNBehaviorStateType.Wait, UNBehaviorChangeStateCallBack cbBeforeBehaviorChange = null, UNBehaviorChangeStateCallBack cbAfterBehaviorChange = null) { Init(); AddWaitBehavior(bType, priority, bState, cbBeforeBehaviorChange, cbAfterBehaviorChange); }
public void AddWaitBehavior(UNBehaviorType bType, int priority = 0, UNBehaviorStateType bState = UNBehaviorStateType.Wait, UNBehaviorChangeStateCallBack cbBeforeChange = null, UNBehaviorChangeStateCallBack cbAfterChange = null) { m_cbsBeforeBehaviorChange.Add(cbBeforeChange); m_cbsAfterBehaviorChange.Add(cbAfterChange); AddWaitBehavior(UNBehavior.New(bType, priority, bState, m_cbsBeforeBehaviorChange, m_cbsAfterBehaviorChange)); }
public static UNBehavior New(UNBehaviorType bType, int priority = 0, UNBehaviorStateType bState = UNBehaviorStateType.Wait, UNList <UNBehaviorChangeStateCallBack> cbsBeforeChange = null, UNList <UNBehaviorChangeStateCallBack> cbsAfterChange = null) { var obj = New(); obj.ResetToBehavior(bType, priority, bState, cbsBeforeChange, cbsAfterChange); return(obj); }
public void ResetToBehavior(UNBehaviorType bType, int priority = 0, UNBehaviorStateType bState = UNBehaviorStateType.Wait, UNList <UNBehaviorChangeStateCallBack> cbsBeforeChange = null, UNList <UNBehaviorChangeStateCallBack> cbsAfterChange = null) { m_type = bType; m_priority = priority; m_curState = bState; m_cbsBeforeChange = cbsBeforeChange; m_cbsAfterChange = cbsAfterChange; Init(); }
public void AddBehaviorImmediate(UNBehaviorType bType, int priority = 0, UNBehaviorStateType bState = UNBehaviorStateType.Wait, UNBehaviorChangeStateCallBack cbBeforeChange = null, UNBehaviorChangeStateCallBack cbAfterChange = null) { m_cbsBeforeBehaviorChange.Add(cbBeforeChange); m_cbsAfterBehaviorChange.Add(cbAfterChange); if (m_curBehavior.IsNull()) { m_curBehavior = UNBehavior.New(); m_curBehavior.ResetToBehavior(bType, priority, bState, m_cbsBeforeBehaviorChange, m_cbsAfterBehaviorChange); } else { m_curBehavior.ChangeToState(UNBehaviorStateType.Finish); m_curBehavior.ResetToBehavior(bType, priority, bState, m_cbsBeforeBehaviorChange, m_cbsAfterBehaviorChange); } m_curBehavior.ChangeToState(UNBehaviorStateType.Execute); }
public void AddBehaviorsTransRule(UNBehaviorType fromType, UNBehaviorType toType) { UNList <UNBehaviorType> fromList = null; if (m_behaviorsTransRules.ContainsKey(toType)) { if (!m_behaviorsTransRules[toType].Contains(fromType)) { fromList = m_behaviorsTransRules[toType]; } } else { fromList = UNList <UNBehaviorType> .New(); } if (fromList != null) { fromList.Add(fromType); } AddBehaviorsTransRule(fromList, toType); }
public void AddBehaviorsTransRule(UNList <UNBehaviorType> fromTypes, UNBehaviorType toType) { m_behaviorsTransRules.Add(toType, fromTypes); }
public void ReplaceBehavior(UNBehaviorType bType, int priority = 0) { ClearBehavior(); AddWaitBehavior(bType, priority); }