/// <summary> /// rimuove un behaviour dall'entity associata /// </summary> /// <param name="behaviour"></param> public void RemoveBehaviour(AbsBehaviour behaviour, bool destroyBehaviour = true) { behaviourList.Remove(behaviour); if (destroyBehaviour) { Destroy(behaviour); } }
private void SetupBehaviour(AbsBehaviour behaviour) { if (behaviour != null && behaviour.setupByEntity && !behaviour.hasBeenSetup) { behaviour.Setup(this); } }
/// <summary> /// aggiunge un behaviour gia presente sul GameObject all'entity associata /// </summary> /// <param name="behaviour">behaviopur da aggiungere</param> public void AddInstantiatedBehaviour(AbsBehaviour behaviour, bool setupOnAdd = true, bool checkIfIsChild = true) { if (!checkIfIsChild || behaviour.transform.IsChildOf(this.transform)) { if (behaviour != null) { this.behaviourList.Add(behaviour); if (setupOnAdd) { SetupBehaviour(behaviour); } } } }