public void Act(bool automatic = true) { var cooldown = IsInCooldown; m_model.Animators.ForEach(a => a.SetBool("Cooldown", cooldown)); UpdateCooldownProgressBar(); if (automatic != m_model.Automatic) { return; } if (IsInCooldown) { return; } var charactersInTrap = GameSingleton.Instance.GetCharactersAt(m_activationPositions).ToList(); if (automatic && charactersInTrap.Count == 0) { return; } foreach (var characterBehaviour in charactersInTrap) { m_model.Activate(characterBehaviour, Evolved, Position, characterBehaviour.PositionInt); } m_model.Animators.ForEach(a => a.SetTrigger("TriggerTrap")); m_nextActivation = Time.realtimeSinceStartup + m_model.Cooldown; }