// Use this for initialization protected override void Start() { // adds beserker transition state to the listeners. EventManager.AddBeserkerTriggerListeners(PlayerDetectedable); base.Start(); berserkerSpeed = MAX_SPEED; swordTriggerEnabledTimer = GetComponent <Timer>(); cooldownBetweenSlashesTimer = GetComponent <Timer>(); player = GameObject.FindGameObjectWithTag("Player"); // TransitionToPursueState(player.transform.position); // starts beserker at waiting state until Triggered by invoker of Beserker Trigger event TransitionToStandState(); // prepares timer and ensure player isn't accedentally detected playerDetected = false; beginChaseTimer = GetComponent <Timer>(); beginChaseTimer.Duration = beserkerWaitTime; beginChaseTimer.Run(); //at start, disable the berserker sword trigger transform.Find("BerserkerSword").gameObject.GetComponent <BoxCollider2D>().enabled = false; }