Core/Refactor: Part 4
This commit is contained in:
@@ -92,7 +92,7 @@ namespace Game.Movement
|
||||
return;
|
||||
}
|
||||
|
||||
float respX, respY, respZ, respO, destX, destY, destZ, travelDistZ;
|
||||
float respX, respY, respZ, respO, destZ;
|
||||
creature.GetHomePosition(out respX, out respY, out respZ, out respO);
|
||||
Map map = creature.GetMap();
|
||||
|
||||
@@ -103,14 +103,14 @@ namespace Game.Movement
|
||||
float distanceX = (float)(range * Math.Cos(angle));
|
||||
float distanceY = (float)(range * Math.Sin(angle));
|
||||
|
||||
destX = respX + distanceX;
|
||||
destY = respY + distanceY;
|
||||
float destX = respX + distanceX;
|
||||
float destY = respY + distanceY;
|
||||
|
||||
// prevent invalid coordinates generation
|
||||
GridDefines.NormalizeMapCoord(ref destX);
|
||||
GridDefines.NormalizeMapCoord(ref destY);
|
||||
|
||||
travelDistZ = range; // sin^2+cos^2=1, so travelDistZ=range^2; no need for sqrt below
|
||||
float travelDistZ = range; // sin^2+cos^2=1, so travelDistZ=range^2; no need for sqrt below
|
||||
|
||||
if (is_air_ok) // 3D system above ground and above water (flying mode)
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Movement
|
||||
void stopFollowing();
|
||||
}
|
||||
|
||||
public abstract class TargetedMovementGeneratorMedium<T, D> : MovementGeneratorMedium<T>, TargetedMovementGeneratorBase where T : Unit
|
||||
public abstract class TargetedMovementGeneratorMedium<T> : MovementGeneratorMedium<T>, TargetedMovementGeneratorBase where T : Unit
|
||||
{
|
||||
public FollowerReference reftarget { get; set; }
|
||||
public Unit target
|
||||
@@ -38,7 +38,7 @@ namespace Game.Movement
|
||||
|
||||
public void stopFollowing() { }
|
||||
|
||||
public TargetedMovementGeneratorMedium(Unit _target, float _offset = 0, float _angle = 0)
|
||||
protected TargetedMovementGeneratorMedium(Unit _target, float _offset = 0, float _angle = 0)
|
||||
{
|
||||
reftarget = new FollowerReference();
|
||||
reftarget.link(_target, this);
|
||||
@@ -268,7 +268,7 @@ namespace Game.Movement
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class ChaseMovementGenerator<T> : TargetedMovementGeneratorMedium<T, ChaseMovementGenerator<T>> where T : Unit
|
||||
public class ChaseMovementGenerator<T> : TargetedMovementGeneratorMedium<T> where T : Unit
|
||||
{
|
||||
public ChaseMovementGenerator(Unit target)
|
||||
: base(target)
|
||||
@@ -334,7 +334,7 @@ namespace Game.Movement
|
||||
}
|
||||
}
|
||||
|
||||
public class FollowMovementGenerator<T> : TargetedMovementGeneratorMedium<T, FollowMovementGenerator<T>> where T : Unit
|
||||
public class FollowMovementGenerator<T> : TargetedMovementGeneratorMedium<T> where T : Unit
|
||||
{
|
||||
public FollowMovementGenerator(Unit target) : base(target) { }
|
||||
public FollowMovementGenerator(Unit target, float offset, float angle) : base(target, offset, angle) { }
|
||||
|
||||
Reference in New Issue
Block a user