Example #1
0
        private void CreateView(Vector3 position, ITileModel model, EnvironmentType type)
        {
            switch (type)
            {
            case EnvironmentType.Sea:
                _seaFactory.Create(position, model);
                break;

            case EnvironmentType.Grassland:
                _grassFactory.Create(position, model);
                break;

            case EnvironmentType.Swamp:
                _swampFactory.Create(position, model);
                break;

            case EnvironmentType.Desert:
                _desertFactory.Create(position, model);
                break;

            case EnvironmentType.Mountain:
                _mountainFactory.Create(position, model);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #2
0
 public void Initialize(ITileModel model, Action <int, int> OnClick = null)
 {
     Model         = model;
     UncoverAction = OnClick;
     View          = GetComponent <TileView>();
     View.Initialize(this);
     View.SetSymbol(Model.Symbol);
 }
Example #3
0
        private void SetTile(GameObject prefab, ITileModel model, Action <int, int> callback)
        {
            GameObject tile   = Instantiate(prefab, boardContainer.transform);
            int        offset = ((_model.Size * TILE_WIDTH) / 2) - TILE_WIDTH / 2;

            tile.transform.localPosition = new Vector3(model.Position.X * TILE_WIDTH - offset,
                                                       model.Position.Y * TILE_WIDTH - offset, 0);
            var tilePresenter = tile.GetComponent <ITilePresenter>();

            tilePresenter.Initialize(model, callback);
            _model.SetPosition(model.Position.X, model.Position.Y, tile);
        }