private void OnExamine(EntityUid uid, WeldableComponent component, ExaminedEvent args)
 {
     if (component.IsWelded && component.WeldedExamineMessage != null)
     {
         args.PushText(Loc.GetString(component.WeldedExamineMessage));
     }
 }
    private void OnInteractUsing(EntityUid uid, WeldableComponent component, InteractUsingEvent args)
    {
        if (args.Handled)
        {
            return;
        }

        args.Handled = TryWeld(uid, args.Used, args.User, component);
    }
    private void OnWeldFinished(EntityUid uid, WeldableComponent component, WeldFinishedEvent args)
    {
        component.BeingWelded = false;

        // Check if target is still valid
        if (!CanWeld(uid, args.Tool, args.User, component))
        {
            return;
        }

        component.IsWelded = !component.IsWelded;
        RaiseLocalEvent(uid, new WeldableChangedEvent(component.IsWelded), true);

        UpdateAppearance(uid, component);
    }
 private void OnWeldCanceled(EntityUid uid, WeldableComponent component, WeldCancelledEvent args)
 {
     component.BeingWelded = false;
 }