Exemplo n.º 1
0
    public void Construct()
    {
        var renderer = GetComponent <SpriteRenderer>();
        var tf       = transform;

        _view = new DiscView(renderer, tf);
    }
        void BuildLayout()
        {
            if (CellItemsSource == null || DiscItemsSource == null)
            {
                return;
            }

            _layout.Children.Clear();
            _layout.Children.Add(_gridBox);
            foreach (var item in CellItemsSource)
            {
                CellView view = new CellView();
                if (view != null)
                {
                    view.BindingContext = item;
                    _layout.Children.Add(view);
                    var cell = new OthelloCell(view, ProcessCell);
                    cell.Item = item;
                    _cells.Add(item, cell);
                    view.PropertyChanged += CellView_PropertyChanged;
                    var tap = new TapGestureRecognizer();
                    tap.Command = new Command(v =>
                    {
                        CellTappedCommand?.Execute(v);
                        return;
                    });
                    tap.CommandParameter = item;
                    view.GestureRecognizers.Add(tap);
                }
            }
            foreach (var item in DiscItemsSource)
            {
                var view = new DiscView();
                view.BindingContext = item;
                _layout.Children.Add(view);
                var disc = new OthelloDisc(view, ProcessDisc);
                disc.Item = item;
                _discs.Add(item, disc);
                view.PropertyChanged += DiscView_PropertyChanged;
            }
        }