private void CreateStack() { var stackModel = new StackModel(_config.TileSpeed, _config.TileSize, _config.DistanceMultiplier, _config.ErrorThreshold, _config.MaxStackBounds, _config.BoundsIncrementBonus, _config.BonusTriggerCount); var go = Instantiate(_stackPrefab); go.transform.position = Vector3.zero; var ctrl = go.GetComponent <StackController>(); ctrl.Init(stackModel); }
public void Init(StackModel model) { _model = model; // TODO: create external pool or create new tile on demand? _stackTiles = new List <GameObject>(_tilesMaxAmount); for (int i = 0; i < _tilesMaxAmount; i++) { var go = Instantiate(_tilePrefab); go.transform.SetParent(this.transform); go.transform.localPosition = Vector3.down * i; go.transform.localScale = new Vector3(_model.Size, 1, _model.Size); _stackTiles.Add(go); } _stepIndex++; _stackIndex = _tilesMaxAmount - 1; _stackBounds = new Vector2(_model.Size, _model.Size); ResetTilePosition(); _isEnabled = true; }