private void ActivateThis(bool activateOthers) { if (!_brazier.activeInHierarchy) { if (ShouldBeActive) { Condition.Solve(activateOthers); } else { Condition.UnSolve(activateOthers); } _brazier.SetActive(true); foreach (GameObject go in _objects_to_activate) { go.SetActive(true); if (ParticleSystemEffector) { ParticleSystemEffector.position = go.transform.position; } } _on_lit_sound.Play(); //this.enabled = false; } else { if (!ShouldBeActive) { Condition.Solve(activateOthers); } else { Condition.UnSolve(activateOthers); } _brazier.SetActive(false); foreach (GameObject go in _objects_to_activate) { go.SetActive(false); if (ParticleSystemEffector) { ParticleSystemEffector.position = go.transform.position; } } _on_lit_sound.Play(); //this.enabled = false; } }