Geometry.Figures.Point target; //точка цели #endregion Fields #region Constructors /// <summary> /// Конструктор текущего действия (движения) /// </summary> /// <param name="a">Действие</param> /// <param name="curPoint">Текущее положение отряда</param> public OrderPresenter(AbstractGameEngine.Action a, Geometry.Figures.Point curPoint) { double ratio = Transformer.Ratio; this.origin = curPoint; this.target = (a as GameEngine.Characters.MoveAction).Destination; OrderOrigin = new Point(curPoint.X * ratio, curPoint.Y * ratio); OrderTarget = new Point(target.X * ratio, target.Y * ratio); this.OrderType = 0; VisibleWayAim = Visibility.Visible; this.TurnsToComplete = (a as GameEngine.Characters.MoveAction).TurnsToComplete; double dX=0;//смещение значка цели перемещения относительно положения отряда по оси X double dY=0;//смещение значка цели перемещения относительно положения отряда по оси Y if ((target.X - origin.X) < 0) dX = 2 * (target.X - origin.X) * ratio;//если отряд двигается влево else dX = (target.X - origin.X) * ratio - 12.5;//если отряд двигается вправо if ((origin.Y - target.Y) < 0) dY = 2 * (origin.Y - target.Y) * ratio;//если отряд двигается вверх else dY = (origin.Y - target.Y) * ratio - 12.5;//если отряд двигается вниз this.Margin = new Thickness(dX, dY, 0, 0); DeltaHorisontal = (target.X - origin.X) * ratio; DeltaVertical = (origin.Y - target.Y) * ratio; this.WayLine = new System.Windows.Media.PointCollection(); Point aimPos = new Point(dX, dY);//получение точки цели перемещения отряда this.WayLine.Add(new Point(0, 0));//точка нахождения отряда относительно отряда this.WayLine.Add(new Point((target.X - origin.X) * ratio, (origin.Y - target.Y) * ratio)); }
public FigurePresenter(Figure f, AbstractGameEngine.Area parent) { this.original = f; Type = f.GetType(); AParent = parent; // todo find another way for that? if (Type == typeof(ConvexPolygon)) { if (parent.GetType() == typeof(GameEngine.Lands.Mountains)) Smoothing = 1; if (parent.GetType() == typeof(GameEngine.Lands.Forest)) Smoothing = 0.5; if (parent.GetType() == typeof(GameEngine.Lands.Lowland)) Smoothing = 0.8; } Update(); }
public GameItemsPresenter(AbstractGameEngine.Item x) { this.original = x; }