private GameObject Spawn(ObjectsId id, Vector3 position, Quaternion rotation, Transform parent) { GameObject obj = null; if (_pool == null) { return(obj); } foreach (var spawnNode in Nodes) { if (spawnNode.Id != id) { continue; } obj = _pool.getInstance(spawnNode.Prefab); obj.transform.localScale = Vector3.one; obj.transform.position = position; obj.transform.rotation = rotation; obj.transform.parent = parent; } // Bind(obj, id); return(obj); }
private void ReturnInstance(GameObject obj, ObjectsId id) { obj.SetActive(false); obj.transform.parent = null; foreach (var node in Nodes) { if (node.Id != id) { continue; } _pool.returnInstance(obj, node.Prefab); } }
public void returnInstance(GameObject obj, ObjectsId id) { ReturnInstance(obj, id); }
public GameObject spawn(ObjectsId id, Transform parent) { return(Spawn(id, parent)); }
public GameObject spawn(ObjectsId id, Vector3 position, Quaternion rotation, Transform parent = null) { return(Spawn(id, position, rotation, parent)); }
public GameObject spawn(ObjectsId id, Vector3 position) { return(Spawn(id, position, Quaternion.identity, null)); }
public GameObject spawn(ObjectsId id) { return(Spawn(id, Vector3.zero, Quaternion.identity, null)); }
public static T SpawnAs <T>(this ObjectsId id) { return(FactorySpawnExtenstion.Spawn <T>(null, (ushort)id)); }
public static T SpawnAs <T>(this ObjectsId id, Vector3 position, Quaternion rotation) where T : class { return(FactorySpawnExtenstion.Spawn <T>(null, (ushort)id, position, rotation)); }
public static T SpawnAs <T>(this ObjectsId id, Vector2 position, Transform parent) { return(FactorySpawnExtenstion.Spawn <T>(null, (ushort)id, position, parent)); }