/// <summary> /// Shows the page selector.(Pages in shop) /// </summary> /// <param name="graphObject">Graphic render object</param> private void ShowPageSelector(IGraphic graphObject) { if (_towerIcons.Count > Settings.LinesInOnePage * Settings.MaxTowersInLine) { ShopPageSelectorAction((int i, int dy, int xMouse, int yMouse) => { //String graphObject.DrawString("Page " + (i + 1).ToString(CultureInfo.InvariantCulture), new Font("Arial", 14 * Scaling), new SolidBrush(Color.Black), new Point( Convert.ToInt32((_paginatorPos.X + (i % ElementsDelta) * ("Page " + (i + 1).ToString(CultureInfo.InvariantCulture)).Length * Settings.PixelsForOneSymbol) * Scaling), Convert.ToInt32((_paginatorPos.Y + PaginatorElementHeight * dy) * Scaling))); //Border line Color penColor = ((i + 1) == CurrentShopPage) ? Color.Red : Color.White; graphObject.DrawRectangle(new Pen(penColor, Settings.PenWidth * Scaling), BuildRectPageSelector(i, dy)); return false; }); } }
/// <summary> /// Shows the tower. /// </summary> /// <param name="canva">The canva.</param> /// <param name="visibleStart">The visible start.</param> /// <param name="visibleFinish">The visible finish.</param> internal void ShowTower(IGraphic canva, Point visibleStart, Point visibleFinish) { //Checking, is tower visible map area or not bool flag = (((ArrayPos.X + 1) * Settings.ElemSize/* - CurrentTowerParams.AttackRadius */< visibleFinish.X * Settings.ElemSize) || ((ArrayPos.Y + 1) * Settings.ElemSize/* - CurrentTowerParams.AttackRadius */< visibleFinish.Y * Settings.ElemSize)); //if ((ArrayPos.Y >= VisibleFinish.Y) || (ArrayPos.X >= VisibleFinish.X)) //if ((Flag)&&((ArrayPos.X < (VisibleStart.X-1)) || (ArrayPos.Y < (VisibleStart.Y-1)))) if ((flag) && (!(((ArrayPos.X + 1) * Settings.ElemSize/* + CurrentTowerParams.AttackRadius */> visibleStart.X * Settings.ElemSize) || ((ArrayPos.Y + 1) * Settings.ElemSize/* + CurrentTowerParams.AttackRadius */> visibleStart.Y * Settings.ElemSize)))) flag = false; if (!flag) return; canva.DrawImage(CurrentTowerParams.Picture, Convert.ToInt32((-(CurrentTowerParams.Picture.Width / 2) + (ArrayPos.X + 1 - visibleStart.X) * Settings.ElemSize) * Scaling + Settings.DeltaX), Convert.ToInt32((-(CurrentTowerParams.Picture.Height / 2) + (ArrayPos.Y + 1 - visibleStart.Y) * Settings.ElemSize) * Scaling + Settings.DeltaY), Convert.ToInt32(CurrentTowerParams.Picture.Width * Scaling), Convert.ToInt32(CurrentTowerParams.Picture.Height * Scaling)); if (_wasCrit == 0) return; _wasCrit--; //Critical strike notification canva.DrawString( string.Format("{0}!", CurrentTowerParams.Damage * CurrentTowerParams.CritMultiple), new Font("Arial", 20), new SolidBrush(Color.Red), new PointF( (-(CurrentTowerParams.Picture.Width / 2) + (ArrayPos.X + 1 - visibleStart.X) * Settings.ElemSize) * Scaling + Settings.DeltaX, (-(CurrentTowerParams.Picture.Height / 2) + (ArrayPos.Y + 1 - visibleStart.Y) * Settings.ElemSize) * Scaling + Settings.DeltaY)); }