Ejemplo n.º 1
0
        public Object GetInstance(Object prefab)
        {
            List <IResourcePullElement> prefabPull;

            if (Pull.TryGetValue(prefab, out prefabPull) == false)
            {
                prefabPull = new List <IResourcePullElement>();
                Pull.Add(prefab, prefabPull);
            }

            IResourcePullElement instance = prefabPull.Find((element => element.IsFree == true));

            if (instance == null)
            {
                instance = (Instantiate(prefab) as GameObject).GetComponent <IResourcePullElement>();
                prefabPull.Add(instance);
            }

            instance.Restrain();
            return(instance.AttachedObject);
        }
Ejemplo n.º 2
0
 public void ReleaseInstance(IResourcePullElement element)
 {
     element.AttachedObject.SetActive(false);
     element.AttachedObject.transform.SetParent(transform);
 }