public TableView(Game subjectGame) { game = subjectGame; this.subject = game.table; coinStacks = new CoinStackView[26]; sourceIndex = destIndex = -1; BorderStyle = BorderStyle.FixedSingle; back = Properties.Resources.bck; BackgroundImage = back; int xoffset; Width = back.Width; Height = back.Height; Enabled = false; for (int i = 0; i < 26; i++) { coinStacks[i] = new CoinStackView(this, subject.GameTable[i], (i < 13), (i == 0 || i == 25)); subject.GameTable[i].AssignView(coinStacks[i]); Controls.Add(coinStacks[i]); if (i < 1 || i > 24) { coinStacks[i].Location = new Point(penaltyX, penaltyY + ((i == 0 ? 0:1) * (coinStacks[i].Height + 10))); coinStacks[i].Enabled = false; coinStacks[i].BorderStyle = BorderStyle.Fixed3D; coinStacks[i].BackColor = Color.DarkGray; } else { xoffset = 0; if (i > 6 && i < 13) { xoffset = -100; } if (i > 18) { xoffset = 100; } if (i < 13) { coinStacks[i].Location = new Point(xoffset + Width - ((i) * sprWidth), Height - coinStacks[i].Height); } else { coinStacks[i].Location = new Point(xoffset + (i - 13) * sprWidth, 0); } } } sourceIndex = destIndex = -1; }
public void AssignView(CoinStackView View) { view = View; }