示例#1
0
        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);
        }
示例#2
0
        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;
        }