public ChasePlayer(SimpleAIFSMSystem fsm, GameObject npc, GameObject pc)
 {
     stateID = SimpleAIStateID.ChasePlayer;
     this.npc = npc;
     this.pc = pc;
     anim = npc.GetComponent<Animator>();
     this.fsm = fsm;
 }
    private void MakeFSM()
    {
        fsm = new SimpleAIFSMSystem();

        Idle idle =  new Idle(fsm, gameObject, pc);
        idle.AddTransition(SimpleAITransition.FoundPlayer, SimpleAIStateID.ChasePlayer);

        ChasePlayer chasePlayer = new ChasePlayer(fsm, gameObject, pc);
        chasePlayer.AddTransition(SimpleAITransition.LostPlayer, SimpleAIStateID.Idle);

        fsm.AddState(idle);
        fsm.AddState(chasePlayer);
    }
    public Idle(SimpleAIFSMSystem fsm, GameObject npc, GameObject pc)
    {
        stateID = SimpleAIStateID.Idle;
        this.npc = npc;
        this.pc = pc;
        this.fsm = fsm;

        anim = npc.GetComponent<Animator>();
    }