public void Trigger() { if (_movement.IsMoving == false && _isOn) { _movement.FollowPath(); _isReseted = false; } }
public override void Start() { if (Sensor == null) { throw new ArgumentNullException("PriestDoorTrigger needs a reference to a sensor object with a sensor physics component"); } var sensor = Sensor.GetComponent <PhysicsComponent>(); if (sensor == null || sensor.IsSensor == false) { throw new ArgumentNullException("PriestDoorTrigger needs a reference to a sensor object with a sensor physics component"); } _movement = GetComponent <MoveAlongPath>(); if (_movement == null) { throw new ArgumentNullException("PriestDoorTrigger needs a MoveAlongPath component"); } // Hook up coolsion event sensor.OnCollisionEnter += (go) => { var stats = go.GetComponent <CharacterStats>(); if (stats != null && stats.Category == CharacterCategory.CC_PRIEST) { if (IsOpen == false) { IsOpen = true; _movement.FollowPath(); } } }; }