Синтаксис:
Используется csharp
createdPin.GetComponent<EventTrigger>().AddEventTrigger(inPin, OnPinMouseUp, EventTriggerType.PointerUp);
createdPin.GetComponent<EventTrigger>().AddEventTrigger(inPin, OnPinMouseDown, EventTriggerType.PointerDown);
void OnPinMouseUp(Pin pin)
{
Logger.Instance.Debug("OnPinMouseUp:" + pin.ToString());
}
void OnPinMouseDown(Pin pin)
{
Logger.Instance.Debug("OnPinMouseDown:" + pin.ToString());
}
...
public static void AddEventTrigger(this EventTrigger objectTrigger, UnityAction action, EventTriggerType triggerType)
{
EventTrigger.TriggerEvent trigger = new EventTrigger.TriggerEvent();
trigger.AddListener((eventData) => action());
EventTrigger.Entry entry = new EventTrigger.Entry() { callback = trigger, eventID = triggerType };
objectTrigger.triggers.Add(entry);
}
public static void AddEventTrigger<T>(this EventTrigger objectTrigger, T objectForAction, Action<T> action, EventTriggerType triggerType)
{
AddEventTrigger(objectTrigger, () => action(objectForAction), triggerType);
}
createdPin.GetComponent<EventTrigger>().AddEventTrigger(inPin, OnPinMouseDown, EventTriggerType.PointerDown);
void OnPinMouseUp(Pin pin)
{
Logger.Instance.Debug("OnPinMouseUp:" + pin.ToString());
}
void OnPinMouseDown(Pin pin)
{
Logger.Instance.Debug("OnPinMouseDown:" + pin.ToString());
}
...
public static void AddEventTrigger(this EventTrigger objectTrigger, UnityAction action, EventTriggerType triggerType)
{
EventTrigger.TriggerEvent trigger = new EventTrigger.TriggerEvent();
trigger.AddListener((eventData) => action());
EventTrigger.Entry entry = new EventTrigger.Entry() { callback = trigger, eventID = triggerType };
objectTrigger.triggers.Add(entry);
}
public static void AddEventTrigger<T>(this EventTrigger objectTrigger, T objectForAction, Action<T> action, EventTriggerType triggerType)
{
AddEventTrigger(objectTrigger, () => action(objectForAction), triggerType);
}
Проблема в том, что если я нажимаю мышкой на pin13, то в логе пишет правильно: "OnPinMouseDown: pin13"
Затем я тяну мышь к другому pin15 и откускаю клавишу мыши. Пишет неправильно: "OnPinMouseUp: pin13", а должно: "OnPinMouseUp: pin15"
В чем может быть проблема? И как её решить?