https://ivseeed.com/library/ai-programming-finite-state-machines-in-unity-2016/