//----------------------------------------------------------------------------------------- // 状态的静态调用 //----------------------------------------------------------------------------------------- public static CIdleAI Instance() { if (m_instance == null) { m_instance = new CIdleAI(); } return(m_instance); }
public CAIController(CNPCEntity pNPC) { m_pOwner = pNPC; m_pProto = m_pOwner.m_pProto; m_pTarget = null; m_eCurAIState = AIStateType.AIST_Idle; m_pCurrentState = CIdleAI.Instance(); m_pTransition = new GuardTransition(); m_GameObject = m_pOwner.gameObject; m_vBornPos = m_GameObject.transform.position; }
/// ---------------------------------------------------------------------------------- /// <summary> /// AI 状态实体 /// </summary> private CAIStats GetStateByType(AIStateType eStateType) { if (eStateType == AIStateType.AIST_Idle) { return((CAIStats)CIdleAI.Instance()); } else if (eStateType == AIStateType.AIST_Pursue) { return((CAIStats)CPursueAI.Instance()); } else if (eStateType == AIStateType.AIST_Attack) { return((CAIStats)CAttackAI.Instance()); } else if (eStateType == AIStateType.AIST_Return) { return((CAIStats)CReturnAI.Instance()); } return(null); }