示例#1
0
    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;
        }
    }