示例#1
0
 public ObjectPool(T prefab, Transform parent = null, int startAmount    = 20,
                   ObjectCall initCall        = null, ObjectCall getCall = null, ObjectCall returnCall = null)
 {
     _prefab     = prefab;
     _parent     = parent;
     _initCall   = initCall;
     _getCall    = getCall;
     _returnCall = returnCall;
     for (int i = 0; i < startAmount; i++)
     {
         InstantiateNew();
         _available.Add(true);
     }
 }
 public void addButtonUpObjectReceiver(ObjectCall pPickEvent)
 {
     buttonUpEvent += pPickEvent;
 }
 public void addButtonUpVoidReceiver(VoidCall pPickEvent)
 {
     buttonUpEvent += toObjectCall(pPickEvent);
 }
    void Start()
    {
        if (buttonDownEvent==null)
            buttonDownEvent += nullObjectCall;

        if (buttonUpEvent == null)
            buttonUpEvent += nullObjectCall;

        if (pickerInfos.Length == 0)
            pickerInfos = new PickerInfo[] {
                new PickerInfo { camera = Camera.main, pickLayerMask=-1 }
            };
    }