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; } }