protected virtual void Awake()
 {
     DragEvent         = new PointerUnityEvent();
     PointerUpEvent    = new PointerUnityEvent();
     PointerDownEvent  = new PointerUnityEvent();
     UsableImage       = gameObject.GetComponent <Image>();
     UsableCanvasGroup = UsableImage.gameObject.GetComponent <CanvasGroup>();
     ButtonComponent   = UsableImage.gameObject.GetComponent <Button>();
     Container         = GetComponentInParent <UsableContainer>();
 }
 public void AssignEquipmentContainer(UsableContainer container)
 {
     if (container != null)
     {
         _container = container;
         GetComponent <SpriteRenderer>().enabled = false;
         _container.UsableField.PointerUpEvent.AddListener(OnClickUpInEquipment);
         _container.UsableField.DragEvent.AddListener(OnClickHoldInEquipment);
         _container.UsableField.PointerDownEvent.AddListener(OnClickDownInEquipment);
     }
     else if (_container != null)
     {
         _container.UsableField.PointerUpEvent.RemoveListener(OnClickUpInEquipment);
         _container.UsableField.DragEvent.RemoveListener(OnClickHoldInEquipment);
         _container.UsableField.PointerDownEvent.RemoveListener(OnClickDownInEquipment);
         _container = null;
     }
 }
Example #3
0
    private IEnumerator AddObjectToPoolCoroutine(PickableUsableObject obj, float lagSeconds)
    {
        yield return(new WaitForSeconds(lagSeconds));

        UsableContainer container = null;

        for (int i = 0; i < _usableContainers.Length; ++i)
        {
            container = _usableContainers[i];
            if (container.IsFree)
            {
                break;
            }
        }

        obj.AssignEquipmentContainer(container);
        container.AssignEquipmentUsable(obj);

        _usableList.Add(obj);

        yield return(null);
    }