private GridItemFX CreateGridItemMatchedFX(GridItemView gridItem, int points, float seconds) { var fx = PrefabPool.Get <GridItemFX>(_playfieldFxItems); fx.Configure(gridItem.Index.x, gridItem.Index.y, gridItem.ID, gridItem.transform.localPosition, _tileSize); fx.Show(points, seconds); return(fx); }
private GridItemView CreateGridItemView(int x, int y, string itemId, Vector3 position) { // var gridItem = Instantiate(_gridItemPrefab, _playfieldRootItems); var gridItem = PrefabPool.Get <GridItemView>(_playfieldRootItems); gridItem.Configure(x, y, itemId, position, _tileSize); _gridItemInstances.Add(gridItem); return(gridItem); }
private GridNodeView CreateGridNodeView(int x, int y, string nodeId, Vector3 position) { //var gridNode = Instantiate(_gridNodePrefab, _playfieldRootNodes); var gridNode = PrefabPool.Get <GridNodeView>(_playfieldRootNodes); gridNode.Configure(x, y, nodeId, position, _tileSize); _gridNodeInstances.Add(gridNode); return(gridNode); }
private void Update() { if (!Tween.IsPaused) { _timeElapsed += Time.deltaTime; if (_timeElapsed > _duration) { PrefabPool.Return(this); } } }
private void ClearGridItemInstances() { for (int i = 0; i < _gridItemInstances.Count; i++) { if (_gridItemInstances[i] != null) { // Destroy(_gridItemInstances[i].gameObject); PrefabPool.Return(_gridItemInstances[i]); } } _gridItemInstances.Clear(); }
private void Awake() { if (!_didCreatePools) { PrefabPool.CreatePool <GridNodeView>(_gridNodePrefab); PrefabPool.CreatePool <GridItemView>(_gridItemPrefab); PrefabPool.CreatePool <GridItemFX>(_gridItemMatchedFXPrefab); _didCreatePools = true; } SceneController.RegisterTransitioner(this); Level.ListenForLevelEvents(ReceiveLevelEvents); DisableEditMode(); }
private void DestroyGridItemView(GridItemView gridItem) { gridItem.Invalidate(); _gridItemInstances.Remove(gridItem); PrefabPool.Return(gridItem); }