public override string ToString() { return (StartPosition.ToString() + MidTangent.ToString() + EndPosition.ToString()); }
public override void Check() { if (StartCast <= 0 && IsInPhase && AbilityOwner.IsVisible) { StartCast = Game.RawGameTime; EndCast = StartCast + CastPoint + GetCastRange() / GetProjectileSpeed(); } else if (StartCast > 0 && Obstacle == null && CanBeStopped() && !AbilityOwner.IsTurning()) { var tree = ChainTreePosition(AbilityOwner.InFront(GetCastRange())); if (tree == null) { return; } StartPosition = AbilityOwner.NetworkPosition; EndPosition = tree.Position; AdditionalDelay = EndPosition.Distance2D(StartPosition) / GetProjectileSpeed(); EndCast = StartCast + CastPoint + AdditionalDelay * 2; Obstacle = Pathfinder.AddObstacle(StartPosition, EndPosition, GetRadius(), GetEndRadius(), Obstacle); } else if (StartCast > 0 && Game.RawGameTime > EndCast) { End(); } else if (Obstacle != null && !CanBeStopped()) { Pathfinder.UpdateObstacle(Obstacle.Value, GetProjectilePosition(), GetRadius(), GetEndRadius()); } }
public BlobChunkVerificationResultInfo OpenForWrite(Stream baseStream, long startPosition = 0, long length = TypeExtensions.kNoneInt64, Shell.EndianFormat endian = Shell.EndianFormat.Big) { Contract.Requires(IsClosed); Contract.Requires <ArgumentNullException>(baseStream != null); Contract.Requires <ArgumentException>(baseStream.CanSeek); Contract.Requires <ArgumentException>(baseStream.HasPermissions(FileAccess.Write)); Contract.Requires(length.IsNoneOrPositive()); var result = BlobChunkVerificationResultInfo.ValidResult; OpenUnderlyingStream(baseStream, FileAccess.Write, endian); OpenStartPosition(baseStream, startPosition); EndPosition = length.IsNotNone() ? StartPosition + length : length; mFooterPosition = TypeExtensions.kNoneInt64; UnderlyingStream.StreamMode = FileAccess.Write; if (EndPosition.IsNotNone()) { OpenVerifyAssumedStreamSize(ref result); } return(result); }
public void OnlyOneEndPositionTest() { EndPosition endPosition = EndPosition.Instance("final", 1, 2); EndPosition endPositionTwo = EndPosition.Instance("OTHER", 5, 6); Assert.AreEqual(endPosition, endPositionTwo); }
public override void Check() { if (StartCast > 0 && Obstacle != null && Game.RawGameTime > EndCast) { End(); } else if (Obstacle == null && IsAbilityUnitValid() && abilityUnit.IsVisible) { var unitPosition = abilityUnit.Position; if (unitPosition == StartPosition) { return; } EndPosition = StartPosition.Extend(abilityUnit.Position, GetCastRange()); if (Math.Abs(EndPosition.Distance2D(StartPosition) - GetCastRange()) > 50) { return; } Obstacle = Pathfinder.AddObstacle(StartPosition, EndPosition, GetRadius(), Obstacle); } else if (Obstacle != null) { Pathfinder.UpdateObstacle(Obstacle.Value, GetProjectilePosition(), GetRadius()); } }
public void DrawEditor(Object3DControlsLayer object3DControlLayer, List <Object3DView> transparentMeshes, DrawEventArgs e) { var start = PositionsHaveBeenSet ? StartPosition : StartPosition.Transform(Matrix); var end = PositionsHaveBeenSet ? EndPosition : EndPosition.Transform(Matrix); object3DControlLayer.World.Render3DLine(start, end, Color.Black, true, width: GuiWidget.DeviceScale); }
/// <summary> /// Returns the missile position after time time. /// </summary> public Vector2 GlobalGetMissilePosition(int time) { var t = Math.Max(0, System.Environment.TickCount + time - StartTick - SkillshotData.Delay); t = (int)Math.Max(0, Math.Min(EndPosition.Distance(StartPosition), t * SkillshotData.MissileSpeed / 1000)); return(StartPosition + Direction * t); }
public static void ExecuteR(Gapcloser.GapcloserArgs args) { if (!GapCloserMenu.RBool.Enabled) { return; } if (!GapCloserMenu.RGapcloser.IsEnabled(args.SpellName)) { return; } if (args.EndPosition.DistanceToPlayer() > args.StartPosition.DistanceToPlayer()) { return; } switch (args.Type) { case SpellType.Targeted when args.Target.IsMe(): case SpellType.Dash when args.EndPosition.DistanceToPlayer() <= LocalPlayer.Instance.GetAutoAttackRange(): R.Cast(args.Sender); break; } }
public bool Equals(SourceCodeMapping other) { return(other != null && ReferenceEquals(Mapping, other.Mapping) && ILRange.Equals(other.ILRange) && StartPosition.Equals(other.StartPosition) && EndPosition.Equals(other.EndPosition)); }
public void FinalPositionOfRoadTest() { EndPosition actual = roadOne.Final; Assert.AreEqual("Final del Camino", actual.Name); Assert.AreEqual(2, actual.Capacity); Assert.AreEqual(5, actual.Position); }
public override void MakeSchemaCompliant() { base.MakeSchemaCompliant(); BeginPosition.MakeSchemaCompliant(); Begin.MakeSchemaCompliant(); EndPosition.MakeSchemaCompliant(); End.MakeSchemaCompliant(); TimeInterval.MakeSchemaCompliant(); }
public override int GetHashCode() { unchecked { var hashCode = StartPosition.GetHashCode(); hashCode = (hashCode * 397) ^ EndPosition.GetHashCode(); hashCode = (hashCode * 397) ^ (int)MoveType; return(hashCode); } }
private TimeSpan ConvertValueToPosition(double value) { double totalSeconds = EndPosition.Subtract(StartPosition).TotalSeconds; double timelineProportion = Minimum != Maximum ? value / (Maximum - Minimum) : 0; double relativeSeconds = totalSeconds * timelineProportion; return(StartPosition.Add(TimeSpan.FromSeconds(relativeSeconds))); }
/// <summary> /// Serves as a hash function for a <see cref="Bio.Variant.Variant"/> object. /// </summary> /// <returns>A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a /// hash table.</returns> public override int GetHashCode() { //TODO: This is a little unsafe as these fields are mutable... var h1 = RefName != null?RefName.GetHashCode() : 0; var h2 = StartPosition.GetHashCode(); var h3 = EndPosition.GetHashCode(); return(h1 ^ h2 ^ h3); }
private void MoveEntityTowards(Vector3 endPosition) { this.transform.rotation = Quaternion.LookRotation(endPosition - this.transform.position); this.transform.rotation = Quaternion.Euler(0, this.transform.rotation.eulerAngles.y, 0); if (Vector2.Distance(EndPosition.XZ(), this.transform.position.XZ()) > 0.3f && endPosition.sqrMagnitude > 1f) { this.transform.position += transform.forward * Time.deltaTime * MovementSpeed; } }
public override void Move(int x, int y) { StartPosition = StartPosition.Add(x, y); EndPosition = EndPosition.Add(x, y); for (int i = 0; i < CenterPointCount; i++) { CenterPoints[i] = CenterPoints[i].Add(x, y); } }
public override void Resize(int x, int y, bool fromBottomRight) { if (fromBottomRight) { EndPosition = EndPosition.Add(x, y); } else { StartPosition = StartPosition.Add(x, y); } }
/// <summary> /// GetHashCode() /// </summary> /// <returns></returns> public override int GetHashCode() => (ShowOffsetColumn ? int.MinValue : 0) ^ (ShowValuesColumn ? 0x40000000 : 0) ^ (ShowAsciiColumn ? 0x20000000 : 0) ^ StartPosition.GetHashCode() ^ EndPosition.GetHashCode() ^ BasePosition.GetHashCode() ^ (UseRelativePositions ? 0x10000000 : 0) ^ OffsetBitSize ^ (int)HexValuesDisplayFormat ^ BytesPerLine;
public void DrawEditor(Object3DControlsLayer object3DControlLayer, List <Object3DView> transparentMeshes, DrawEventArgs e) { var start = PositionsHaveBeenSet ? StartPosition : StartPosition.Transform(Matrix); var end = PositionsHaveBeenSet ? EndPosition : EndPosition.Transform(Matrix); // draw on top of anything that is already drawn object3DControlLayer.World.Render3DLine(start, end, Color.Black.WithAlpha(Constants.LineAlpha), false, width: GuiWidget.DeviceScale); // Restore DepthTest object3DControlLayer.World.Render3DLine(start, end, Color.Black, true, width: GuiWidget.DeviceScale); }
private double ConvertPositionToValue(TimeSpan position) { TimeSpan relativePosition = position.Subtract(StartPosition); double totalSeconds = EndPosition.Subtract(StartPosition).TotalSeconds; double timelineProportion = totalSeconds != 0 ? relativePosition.TotalSeconds / totalSeconds : 0; double relativeValue = (Maximum - Minimum) * timelineProportion; return(Minimum + relativeValue); }
public override bool Equals(object obj) { if (!(obj is Move)) { return(false); } var move = obj as Move; return(StartPosition.Equals(move.StartPosition) && EndPosition.Equals(move.EndPosition)); }
public void TwoRoadsWithSameEndPosition() { roadTwo.AddExperience(mountain); roadTwo.AddExperience(ocean); roadTwo.AddExperience(farm); roadTwo.FinalPositionOfRoad(); EndPosition actual = roadOne.Final; EndPosition actualTwo = roadTwo.Final; Assert.AreEqual(actual, actualTwo); }
public virtual bool Equals(ChessMove other) { if (MoveType != ChessMoveType.PawnPromote) { return(other != null && StartPosition.Equals(other.StartPosition) && EndPosition.Equals(other.EndPosition)); } else { return(other != null && StartPosition.Equals(other.StartPosition) && EndPosition.Equals(other.EndPosition) && PromotionPiece.Equals(other.PromotionPiece)); } }
public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer) { if (editorControls == null) { editorControls = new List <IObject3DControl> { new TracedPositionObject3DControl(object3DControlsLayer, this, () => { return(PositionsHaveBeenSet ? StartPosition : StartPosition.Transform(Matrix)); }, (position) => { if (!PositionsHaveBeenSet) { PositionsHaveBeenSet = true; EndPosition = EndPosition.Transform(this.Matrix); } StartPosition = position; Distance = (StartPosition - EndPosition).Length; UiThread.RunOnIdle(() => Invalidate(InvalidateType.DisplayValues)); }), new TracedPositionObject3DControl(object3DControlsLayer, this, () => { return(PositionsHaveBeenSet ? EndPosition : EndPosition.Transform(Matrix)); }, (position) => { if (!PositionsHaveBeenSet) { PositionsHaveBeenSet = true; StartPosition = StartPosition.Transform(this.Matrix); } EndPosition = position; Distance = (StartPosition - EndPosition).Length; UiThread.RunOnIdle(() => Invalidate(InvalidateType.DisplayValues)); }), }; } object3DControlsLayer.Object3DControls.Modify((list) => { list.AddRange(editorControls); }); }
private static void ExecuteW(GapcloserArgs args) { if (!WBool.Enabled) { return; } switch (args.Type) { case SpellType.Targeted when args.Target.IsMe(): case SpellType.Dash when args.EndPosition.DistanceToPlayer() < W.Range: W.Cast(args.Sender); break; } }
public virtual void OnUpdate() { if (Manager.IsCreating) { Point pos = InputManager.ClientMousePosition; if (Manager.IsCornerMoving && !Manager.IsPanning) { StartPosition = StartPosition.Add(InputManager.MouseVelocity); } if (Manager.IsProportionalResizing || ForceProportionalResizing) { float degree, startDegree; if (ShapeType == ShapeType.DrawingLine || ShapeType == ShapeType.DrawingArrow) { degree = 45; startDegree = 0; } else { degree = 90; startDegree = 45; } pos = CaptureHelpers.SnapPositionToDegree(StartPosition, pos, degree, startDegree); } else if (Manager.IsSnapResizing) { pos = Manager.SnapPosition(StartPosition, pos); } EndPosition = pos; } else if (Manager.IsMoving && !Manager.IsPanning) { Move(InputManager.MouseVelocity); } if (LimitRectangleToInsideCanvas) { StartPosition = StartPosition.Restrict(Manager.Form.CanvasRectangle); EndPosition = EndPosition.Restrict(Manager.Form.CanvasRectangle); } }
/// <summary> /// GetHashCode() /// </summary> /// <returns></returns> public override int GetHashCode() => CharsPerLine.GetHashCode() ^ BytesPerLine.GetHashCode() ^ GroupSizeInBytes.GetHashCode() ^ ShowOffset.GetHashCode() ^ OffsetLowerCaseHex.GetHashCode() ^ (int)OffsetFormat ^ StartPosition.GetHashCode() ^ EndPosition.GetHashCode() ^ BasePosition.GetHashCode() ^ UseRelativePositions.GetHashCode() ^ ShowValues.GetHashCode() ^ ValuesLowerCaseHex.GetHashCode() ^ OffsetBitSize.GetHashCode() ^ (int)ValuesFormat ^ ShowAscii.GetHashCode() ^ GetHexColumnTypeArrayHashCode(ColumnOrder);
public override void StartKinetic(VisualPayload payload, Func <float, float> translateTime) { var startVector = StartPosition.GetFirstValue(payload.Data); var endVector = EndPosition.GetFirstValue(payload.Data); var startTime = TransitionTime.GetFirstValue(payload.Data); var transitionTimeInverse = 1f / (TransitionDuration.GetFirstValue(payload.Data)); var bound = payload.VisualData.Bound.CreateDependingBound("Lerp Position"); bound.transform.parent = payload.VisualData.Bound.transform.parent; payload.VisualData.Bound.transform.parent = bound.transform; var movementSatellite = bound.gameObject.AddComponent <BoundMovementSatellite>(); var newPayload = new VisualPayload(payload.Data, new VisualDescription(bound)); movementSatellite.MovementFunc = (trans) => { float proportion = (Time.time - startTime) * transitionTimeInverse; if (proportion >= 1f) { trans.position = endVector; movementSatellite.Cleanup(); return; } proportion = translateTime(proportion); trans.position = Vector3.Lerp(startVector, endVector, proportion); }; movementSatellite.CleanupFunc = (trans) => { JobManager.Instance.StartJob( Finished.Transmit(newPayload), jobName: "Kinetic Finished", startImmediately: true, maxExecutionsPerFrame: 1); }; // execute first step immediately to set initial position movementSatellite.MovementFunc(movementSatellite.transform); }
// TODO: You must write this method. public virtual bool Equals(ChessMove other) { // Most chess moves are equal to each other if they have the same start and end position. // PawnPromote moves must also be promoting to the same piece type. if (MoveType == ChessMoveType.PawnPromote || other.MoveType == ChessMoveType.PawnPromote) { return(StartPosition.Equals(other.StartPosition) && EndPosition.Equals(other.EndPosition) && //MoveType.Equals(other.MoveType) && PromoteTo.Equals(other.PromoteTo)); } else { return(StartPosition.Equals(other.StartPosition) && EndPosition.Equals(other.EndPosition)); //&& //MoveType.Equals(other.MoveType)); } }
public override void Check() { var time = Game.RawGameTime; var phase = IsInPhase && AbilityOwner.IsVisible; if (phase && StartCast + CastPoint <= time && time > EndCast) { StartCast = time; EndCast = StartCast + CastPoint + GetCastRange() / GetProjectileSpeed(); } else if ((phase && Obstacle == null && !AbilityOwner.IsTurning()) || (fowCast && Obstacle == null)) { if (fowCast && (!IsValidArrow() || !arrow.IsVisible)) { return; } if (fowCast) { EndPosition = StartPosition.Extend(arrow.Position.SetZ(AbilityOwner.Position.Z), GetCastRange()); if (EndPosition.Distance2D(StartPosition) < 10) { return; } } else { StartPosition = AbilityOwner.NetworkPosition; EndPosition = AbilityOwner.InFront(GetCastRange() + GetRadius() / 2); } Obstacle = Pathfinder.AddObstacle(StartPosition, EndPosition, GetRadius(), Obstacle); } else if ((StartCast > 0 && time > EndCast) || (fowCast && !IsValidArrow())) { End(); } else if (Obstacle != null && !phase) { Pathfinder.UpdateObstacle(Obstacle.Value, GetProjectilePosition(fowCast), GetRadius()); } }