﻿// Decompiled with JetBrains decompiler
// Type: DragAction
// Assembly: Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 19851F1B-4780-4223-BA01-2C20F2CD781E
// Assembly location: C:\Users\CGA Computer\Desktop\LEGO Universe Stuff\LOCO Server\Unity Web Player Extractor\Saved Files\LOCO Server.unity3d_unpacked\Assembly-CSharp.dll

using System;
using UnityEngine;

public class DragAction
{
  public DragEvent m_dragEvent;
  public Action<object> m_action;
  public Collider m_targetCollider;
  public object m_objectToSend;

  private DragAction(DragEvent dragEvent, Action<object> action, Collider targetCollider = null, object objectToSend = null)
  {
    this.m_dragEvent = dragEvent;
    this.m_action = action;
    this.m_targetCollider = targetCollider;
    this.m_objectToSend = objectToSend;
  }

  public static DragAction CreateDragStartListener(Collider collider, Action<object> action)
  {
    return new DragAction(DragEvent.DRAG_BEGIN, action, collider, (object) null);
  }

  public static DragAction CreateDropListener(Action<object> action, object objectToSend = null)
  {
    return new DragAction(DragEvent.DROP, action, (Collider) null, objectToSend);
  }

  public static DragAction CreateCancelAction(Collider collider, Action<object> action = null)
  {
    return new DragAction(DragEvent.CANCEL_DRAG, action, collider, (object) null);
  }

  public void FireAction()
  {
    this.m_action(this.m_objectToSend);
  }
}
