private void Awake() { animatorController = GetComponent <Animator>(); foreach (GameObject behaviourObject in npcBehavioursObjects) { iNPCBehaviour thisBehaviour = behaviourObject.GetComponent <iNPCBehaviour> (); allBehaviours.Add(thisBehaviour.getName(), thisBehaviour); thisBehaviour.Init(transform, this, view); } }
public void ChangeBehaviourTo(string behaviourId, ElectricElement electricElement = null) { iNPCBehaviour targetBehaviuor = null; if (allBehaviours.TryGetValue(behaviourId, out targetBehaviuor)) { activeBehaviour = targetBehaviuor; activeBehaviour.OnEnter(); if (activeBehaviour.getType() == BehaviourType.aggressive) { activeBehaviour.SetTarget(electricElement); } } else { Debug.LogWarning("There is no behaviour with that id, behaviour did not change"); } }