protected virtual void Start() { startPosition = transform.position; LevelManager = LevelManager.Instance; Agent = GetComponent <NavMeshAgent>(); Rb = GetComponent <Rigidbody>(); Animator = GetComponent <Animator>(); if (target == null) { target = FindObjectOfType <Finishline>(); } Agent.updatePosition = false; //cache states for better memory control CacheStates(); //set state to Idle CheckCacheAndChangeState(AIState.Idle); }
protected override void Awake() { base.Awake(); if (finishline == null) { finishline = FindObjectOfType <Finishline>(); } if (hudManager == null) { hudManager = FindObjectOfType <HUDManager>(); } if (characterPaintingPosition == null) { characterPaintingPosition = paintStage.transform.Find("PlayerPosition"); } SetupScene(); //subscribe to finishline passed action finishline.OnFinishlinePassed += FinishlinePassed; }