Exemplo n.º 1
0
    void Awake()
    {
        Group = transform.parent.GetComponent<AIGroupController>();
        Aggro = GetComponentInChildren<AggroRadius>();
        MoveFSM = GetComponent<MovementFSM>();
        EntityObject = GetComponent<Entity>();
        _animationController = GetComponent<AnimationController>();

        SetupMachine(AIStates.idle);

        HashSet<Enum> idleTransitions = new HashSet<Enum>();
        idleTransitions.Add(AIStates.pursuit);
        idleTransitions.Add(AIStates.wander);

        HashSet<Enum> pursuitTransitions = new HashSet<Enum>();
        pursuitTransitions.Add(AIStates.dead);
        pursuitTransitions.Add(AIStates.reset);

        HashSet<Enum> resetTransitions = new HashSet<Enum>();
        resetTransitions.Add(AIStates.idle);

        HashSet<Enum> wanderTransitions = new HashSet<Enum>();
        wanderTransitions.Add(AIStates.idle);

        AddTransitionsFrom(AIStates.idle, idleTransitions);
        AddTransitionsFrom(AIStates.pursuit, pursuitTransitions);
        AddTransitionsFrom(AIStates.reset, resetTransitions);
        AddTransitionsFrom(AIStates.wander, wanderTransitions);

        StartMachine(AIStates.idle);
        _soundManager = GetComponent<EntitySoundManager>();
    }
Exemplo n.º 2
0
 void Awake()
 {
     group = transform.parent.parent.GetComponent<AIGroupController>();
     trigger = GetComponent<SphereCollider>();
 }