private void Igeoposition_Position(object sender, Position e) { if (PositionChange != null) { PositionChange.Invoke(this, e); } }
public void TestEquality() { var change = new PositionChange { X = 5, Y = 5 }; var sameChange = new PositionChange { X = 5, Y = 5 }; var otherXChange = new PositionChange { X = 3, Y = 5 }; var otherYChange = new PositionChange { X = 5, Y = 7 }; // general Assert.AreEqual(change, change); Assert.AreNotEqual(change, null); Assert.AreNotEqual(change, new object()); // MapPosition Assert.AreEqual(change, sameChange); Assert.AreEqual(change, (object)sameChange); Assert.AreNotEqual(change, otherXChange); Assert.AreNotEqual(change, otherYChange); }
public void TestCreatedHaveNoChange() { var change = new PositionChange(); Assert.AreEqual(0, change.X); Assert.AreEqual(0, change.Y); }
public void TestChangeSetTo2_5() { var change = new PositionChange { X = 2, Y = 5 }; Assert.AreEqual(2, change.X); Assert.AreEqual(5, change.Y); }
public void TestHashCode() { var baseChange = new PositionChange {X = 3, Y = 7}; var sameChange = new PositionChange {X = 3, Y = 7}; var differInXChange = new PositionChange {X = 2, Y = 7}; var differInYChange = new PositionChange {X = 3, Y = 8}; Assert.AreEqual(baseChange.GetHashCode(), sameChange.GetHashCode()); Assert.AreNotEqual(baseChange.GetHashCode(), differInXChange.GetHashCode()); Assert.AreNotEqual(baseChange.GetHashCode(), differInYChange.GetHashCode()); }
private static IEnumerable <ChessMove> MoveWhileValid( ChessboardPosition currentPosition, PositionChange positionChange) { var initialPosition = currentPosition; var chessMoves = new List <ChessMove>(); while (currentPosition.CanMoveBy(positionChange)) { var nextPosition = currentPosition.MovedBy(positionChange); chessMoves.Add(new ChessMove(initialPosition, nextPosition)); currentPosition = nextPosition; } return(chessMoves); }
/// <summary> /// Reads parameters from byte array <paramref name="data"/> starting from zero-base <paramref name="offset"/>. /// </summary> /// <param name="data">Byte array containing heap.</param> /// <param name="offset">Zero-based offset to <paramref name="data"/> heap.</param> public override void ReadFrom(byte[] data, int offset) { _positionChanges.Clear(); _count = data[offset++]; for (int i = 0; i < _count; i++, offset += PositionChange.SizeOf) { PositionChange position = new PositionChange(); position.ReadFrom(data, offset); _positionChanges.Add(position); } }
public void TestHashCode() { var baseChange = new PositionChange { X = 3, Y = 7 }; var sameChange = new PositionChange { X = 3, Y = 7 }; var differInXChange = new PositionChange { X = 2, Y = 7 }; var differInYChange = new PositionChange { X = 3, Y = 8 }; Assert.AreEqual(baseChange.GetHashCode(), sameChange.GetHashCode()); Assert.AreNotEqual(baseChange.GetHashCode(), differInXChange.GetHashCode()); Assert.AreNotEqual(baseChange.GetHashCode(), differInYChange.GetHashCode()); }
private void TestMoveDirectionWithTwoObjects( MapPosition movablePosition, MapPosition staticPosition, PositionChange direction, MapPosition positionAfterMove) { var map = new Map(); var staticObject = new MapObject { Position = staticPosition }; var moveableObject = new MapObject { Position = movablePosition }; map.AddObject(staticObject); map.AddObject(moveableObject); map.Move(moveableObject, direction); Assert.AreEqual(positionAfterMove, moveableObject.Position); }
public void InitData(List <String> strs, PositionChange onPositionChange, int firstPosition) { filePosition = -1; this.onPositionChange = onPositionChange; spLeft.Children.Clear(); for (int i = 0; i < strs.Count; i++) { Border border = new Border(); border.Background = new SolidColorBrush(Colors.Transparent); border.MouseLeftButtonDown += TextBlock_MouseLeftButtonDown_1; border.CornerRadius = new CornerRadius(3); border.BorderThickness = new Thickness(2); border.BorderBrush = new SolidColorBrush(Color.FromRgb(85, 85, 85)); border.Margin = new Thickness(15, 10, 15, 0); if (i == 0) { border.Margin = new Thickness(15, 15, 15, 0); } if (i == strs.Count - 1) { border.Margin = new Thickness(15, 10, 15, 15); } if (strs.Count == 1) { border.Margin = new Thickness(15); } Grid grid = new Grid(); border.Child = grid; TextBlock tb = new TextBlock(); tb.HorizontalAlignment = HorizontalAlignment.Center; tb.VerticalAlignment = VerticalAlignment.Center; tb.Text = strs[i]; tb.FontSize = 17; tb.Margin = new Thickness(15); tb.Foreground = new SolidColorBrush(Color.FromRgb(184, 191, 198)); grid.Children.Add(tb); spLeft.Children.Add(border); } SetSpFilePosition(firstPosition); }
internal virtual void OnPositionChange(PositionChangeEventArgs e) { if (null != PositionChange) { foreach (PositionChangeEventHandler PositionChangeHandler in PositionChange.GetInvocationList()) { ISynchronizeInvoke syncInvoke = PositionChangeHandler.Target as ISynchronizeInvoke; if ((null != syncInvoke) && (syncInvoke.InvokeRequired)) { try { syncInvoke.Invoke(PositionChangeHandler, new object[] { this, e }); } catch { } } else { PositionChangeHandler(this, e); } } } }
/// <summary> /// Gets position change image /// </summary> /// <param name="positionChange">Position change</param> /// <returns>Image object</returns> public static Image GetPositionChange(PositionChange positionChange) { try { Image positionImage = null; switch (positionChange) { case PositionChange.MovingUp: positionImage = Properties.Resources.PositionUp; break; case PositionChange.MovingDown: positionImage = Properties.Resources.PositionDown; break; case PositionChange.NoChange: positionImage = Properties.Resources.PositionEqual; break; } return(positionImage); } catch (Exception ex) { throw ex; } }
public static void Main() { var gameWindow = new GameWindow { Width = 512, Height = 512 }; var map = new Map(); for (var x = 0; x < 16; x++) { for (var y = 0; y < 16; y++) { map.AddObject(new MapObject { Blocking = false, Position = new MapPosition(x, y), Quad = new Quad { FragmentPositionX = 1.0, FragmentPositionY = 3.0 } }); } } map.AddObject(new MapObject { Blocking = true, Position = new MapPosition(3, 2), Quad = new Quad { FragmentPositionX = 2.0, FragmentPositionY = 3.0 } }); map.AddObject(new MapObject { Blocking = true, Position = new MapPosition(4, 7), Quad = new Quad { FragmentPositionX = 2.0, FragmentPositionY = 3.0 } }); map.AddObject(new MapObject { Blocking = true, Position = new MapPosition(2, 5), Quad = new Quad { FragmentPositionX = 2.0, FragmentPositionY = 3.0 } }); var character = new MapObject { Blocking = true, Position = new MapPosition(0, 0) }; map.AddObject(character); var graphicObject = new Graphic { Gl = new GLWrapper(), Window = gameWindow, TextureFileName = @"..\..\Images\textures.png", DetermineScreenSizeInTiles = size => new Vector2d(16, 16), QuadList = map }; gameWindow.Keyboard.KeyDown += (sender, args) => { switch (args.Key) { case Key.Escape: graphicObject.Window.Close(); break; case Key.Right: map.Move(character, PositionChange.CreateRight()); break; case Key.Left: map.Move(character, PositionChange.CreateLeft()); break; case Key.Up: map.Move(character, PositionChange.CreateUp()); break; case Key.Down: map.Move(character, PositionChange.CreateDown()); break; } }; graphicObject.Run(); }
public void TestCreateRight() { Assert.AreEqual(new PositionChange { X = 1 }, PositionChange.CreateRight()); }
/// <summary> /// Gets position change image /// </summary> /// <param name="positionChange">Position change</param> /// <returns>Image object</returns> public static Image GetPositionChange(PositionChange positionChange) { try { Image positionImage = null; switch (positionChange) { case PositionChange.MovingUp: positionImage = Properties.Resources.PositionUp; break; case PositionChange.MovingDown: positionImage = Properties.Resources.PositionDown; break; case PositionChange.NoChange: positionImage = Properties.Resources.PositionEqual; break; } return positionImage; } catch (Exception ex) { throw ex; } }
public bool Equals(PositionChange change) { return(change != null && change.X == X && change.Y == Y); }
public void QueueChange(PositionChange change) { this.Changes.Add(change); }
public void TestChangeSetTo2_5() { var change = new PositionChange {X = 2, Y = 5}; Assert.AreEqual(2, change.X); Assert.AreEqual(5, change.Y); }
public MapPosition(MapPosition position, PositionChange change) { X = position.X + change.X; Y = position.Y + change.Y; }
public void TestCreateDown() { Assert.AreEqual(new PositionChange { Y = -1 }, PositionChange.CreateDown()); }
public void InitData(List <String> strs, PositionChange onPositionChange) { InitData(strs, onPositionChange, 0); }
public void InitData(List <String> strs, PositionChange onPositionChange, int firstPosition, MouseButtonEventHandler e) { luc.InitData(strs, onPositionChange, firstPosition); bNew.MouseLeftButtonUp += e; }
private void DispatchEvents() { PositionChange?.Invoke(this, new PlayerEventArgs(Position)); }
/// <summary> /// Advances the players position. /// </summary> /// <param name="positionChange">Describes the players position change.</param> /// <returns>Task used to track the completion of this operation.</returns> public Task AdvancePosition(PositionChange positionChange) { return this.ScheduleOperation(this.DoAdvancePosition, positionChange) .ContinueWith(this.ExtractResult, TaskContinuationOptions.ExecuteSynchronously); }
protected void OnPositionChangeEvent(Dictionary <string, long> positions) { PositionChange?.Invoke(positions); }
/// <summary> /// Exclusively performs the character position change operation. /// </summary> /// <param name="positionChange">Character position change information.</param> /// <returns>Task used to track the operations completion.</returns> private Task<ActorResponse> DoAdvancePosition(PositionChange positionChange) { this.Position = new Quadrilateral(this.Position.Corner + positionChange.Delta, this.Position.Diagonal); this.Gravity.IsGrounded = positionChange.Grounded; return CachedResponse; }