// called when a collision was detected by the polygon collider 2d of the character void OnTriggerEnter2D(Collider2D col) { // trigger movement event MovedDistanceTriggerEventArgs args = new MovedDistanceTriggerEventArgs(); args.MovedDistance = StartPos.x - _body.position.x; OnUnitMovementDetected(args); // reset position _body.position = StartPos; }
protected virtual void OnUnitMovementDetected(MovedDistanceTriggerEventArgs e) { UnitMovementDetected?.Invoke(this, e); }
void MovementTriggered(object sender, MovedDistanceTriggerEventArgs e) { // update total moved distance _totalMovedDistance += e.MovedDistance; }