Ejemplo n.º 1
0
    public static GameObject Create(PrefabID id, Transform parent)
    {
        Prefab prefab = Get(id);

        if (prefab != null)
        {
            GameObject go;
            if (prefab.caches.Count > 0)
            {
                go = prefab.caches[0] as GameObject;
                prefab.caches.RemoveAt(0);
            }
            else
            {
                go = Instantiate(prefab.obj) as GameObject;
            }
            go.SetActive(true);
            go.transform.SetParent(parent);
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;
            go.transform.localRotation = Quaternion.identity;
            return(go);
        }
        return(null);
    }
Ejemplo n.º 2
0
    public static GameObject LoadPrefab(PrefabID prefabID)
    {
        if (prefabID == PrefabID.AR_OBJECT_PLACEMENT)
        {
            return((GameObject)Resources.Load("ARObjectPlacement"));
        }
        else if (prefabID == PrefabID.TRASH_CAN)
        {
            return((GameObject)Resources.Load("Trashcan"));
        }
        else if (prefabID == PrefabID.DESTROY_PUFF_FX)
        {
            return((GameObject)Resources.Load("DestroyPuff_FX"));
        }
        else if (prefabID == PrefabID.BLOCKBUILDER_UIMANAGER)
        {
            return((GameObject)Resources.Load("BB_UIManager"));
        }
        else if (prefabID == PrefabID.AR_DEFAULT_PLANE)
        {
            return((GameObject)Resources.Load("AR Default Plane"));
        }
        else if (prefabID == PrefabID.AR_WATER_PLANE)
        {
            return((GameObject)Resources.Load("AR Water Plane"));
        }

        else
        {
            return(null);
        }
    }
Ejemplo n.º 3
0
 public static GameObject GetPrefab(PrefabID resource)
 {
     if (!Instance.prefabs.TryGetValue(resource, out GameObject prefab))
     {
         Assert.IsTrue(Instance.prefabsMap.ContainsKey(resource));
         prefab = Resources.Load <GameObject>(Instance.prefabsMap[resource]);
         Instance.prefabs.Add(resource, prefab);
     }
     return(prefab);
 }
Ejemplo n.º 4
0
 public static Prefab Get(PrefabID id)
 {
     if (mInstance == null)
     {
         return(null);
     }
     for (int i = 0; i < mInstance.Prefabs.Count; ++i)
     {
         if (mInstance.Prefabs[i].id == id)
         {
             return(mInstance.Prefabs[i]);
         }
     }
     return(null);
 }
Ejemplo n.º 5
0
    public void Return(PrefabID id, GameObject go)
    {
        if (go == null)
        {
            return;
        }
        Prefab prefab = Get(id);

        if (prefab != null)
        {
            go.transform.SetParent(mInstance.transform);
            go.SetActive(false);
            prefab.caches.Add(go);
        }
        else
        {
            Destroy(go);
        }
    }
Ejemplo n.º 6
0
 public ParticleEvent(PrefabID id, Vector3 position, Quaternion rotation)
 {
     this.id       = id;
     this.position = position;
     this.rotation = rotation;
 }