void Start() { GameObject randomPattern = patterns[Random.Range(0, patterns.Length)]; activePattern = pool.Create(randomPattern.name, Vector3.zero); randomPattern = patterns[Random.Range(0, patterns.Length)]; Vector3 nextPatternPos = new Vector3(activePattern.transform.position.x + activePattern.collider2D.bounds.size.x, 0, 0); nextPattern = pool.Create(randomPattern.name, nextPatternPos); }
public void BuildEnvironment() { var allPrefabs = _itemModels.Select(x => x.Prefab).ToList(); var gridArea = DefineGridArea(); var poolSize = (int)_levelData.GroundSize * (int)_levelData.GroundSize; for (int i = 0; i < _levelData.GroundSize; i++) { for (int j = 0; j < _levelData.GroundSize; j++) { var itemPrefab = allPrefabs[Random.Range(0, allPrefabs.Count)]; var randomSeed = Random.Range(0, _randomSeed); if (randomSeed == 0) { var item = _poolManager.Create <Item>(itemPrefab, _environmentParent, poolSize); item.SetPosition(_levelData.GroundZeroPoint.x + i, _levelData.GroundZeroPoint.z + j); foreach (var position in gridArea) { if (position == item.transform.position) { _poolManager.Deactivate(item); } } } } } }
public virtual void CreateBasePool() { Common = PoolManager.Create("Common"); Unit = PoolManager.Create("Units"); Perform = PoolManager.Create("Perform"); HUD = PoolManager.Create("HUD"); JumpText = PoolManager.Create("JumpText"); }
// Application entry point private void Awake() { AppManager.GUI = GUIManager.Create(_uiRoot); AppManager.Audio = _audioManager; AppManager.Pool = PoolManager.Create(_poolContainer); AppManager.PlayerData = new PlayerModel(); AppManager.Game = GameController.Create(_gameObjectsContainer); Destroy(gameObject); }
public static GameObject Get(PrefabType type) { var pool = m_Instance.GetPool(type); if (pool.Collection.Count > 0) { var obj = pool.Collection[0]; pool.Collection.RemoveAt(0); m_Instance.OnPoolLeave(type, obj); return(obj); } m_Instance.Create(type); return(Get(type)); }
public void BuildGrid() { var poolSize = (int)_gridSize.HeightSize * (int)_gridSize.WidthSize; for (int i = 0; i < _gridSize.HeightSize; i++) { for (int j = 0; j < _gridSize.WidthSize; j++) { var cell = _poolManager.Create <Cell>(_cellPrefab, _gridParent, poolSize); cell.SetPosition(i, j); _cells.Add(cell); } } SetGridParentPosition(); }
public T ShowPopup <T>(object obj = null) where T : BasePopup { var popup = _poolManager.GetPool(typeof(T))?.Activate <T>(); if (popup == null) { var popupPrefab = Resources.Load <GameObject>("UI/Popups/" + typeof(T)); var newPopup = _poolManager.Create <T>(popupPrefab, _uiParent); newPopup.Show(obj); return(newPopup); } else { popup.Show(obj); return(popup); } }