Particle collision and project file fixes
This commit is contained in:
@@ -60,7 +60,7 @@
|
|||||||
<ApplicationIcon>Icon.ico</ApplicationIcon>
|
<ApplicationIcon>Icon.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Source\AnimatedSprite.cs" />
|
<Compile Include="Source\SpriteSheet.cs" />
|
||||||
<Compile Include="Source\Camera.cs" />
|
<Compile Include="Source\Camera.cs" />
|
||||||
<Compile Include="Source\Characters\AICharacter.cs" />
|
<Compile Include="Source\Characters\AICharacter.cs" />
|
||||||
<Compile Include="Source\Characters\AI\AIController.cs" />
|
<Compile Include="Source\Characters\AI\AIController.cs" />
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ namespace Barotrauma.Particles
|
|||||||
velocity -= (velocity / speed) * Math.Min(speed * speed * prefab.WaterDrag * deltaTime, 1.0f);
|
velocity -= (velocity / speed) * Math.Min(speed * speed * prefab.WaterDrag * deltaTime, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnWallCollisionInside(Hull prevHull, Vector2 position)
|
private void OnWallCollisionInside(Hull prevHull, Vector2 edgePos)
|
||||||
{
|
{
|
||||||
Rectangle prevHullRect = prevHull.WorldRect;
|
Rectangle prevHullRect = prevHull.WorldRect;
|
||||||
|
|
||||||
@@ -253,24 +253,24 @@ namespace Barotrauma.Particles
|
|||||||
|
|
||||||
velocity -= subVel;
|
velocity -= subVel;
|
||||||
|
|
||||||
if (position.Y < prevHullRect.Y - prevHullRect.Height)
|
if (edgePos.Y < prevHullRect.Y - prevHullRect.Height)
|
||||||
{
|
{
|
||||||
position.Y = prevHullRect.Y - prevHullRect.Height + prefab.CollisionRadius;
|
position.Y = prevHullRect.Y - prevHullRect.Height + prefab.CollisionRadius;
|
||||||
velocity.Y = -velocity.Y;
|
velocity.Y = -velocity.Y;
|
||||||
}
|
}
|
||||||
else if (position.Y > prevHullRect.Y)
|
else if (edgePos.Y > prevHullRect.Y)
|
||||||
{
|
{
|
||||||
position.Y = prevHullRect.Y - prefab.CollisionRadius;
|
position.Y = prevHullRect.Y - prefab.CollisionRadius;
|
||||||
velocity.X = Math.Abs(velocity.Y) * Math.Sign(velocity.X);
|
velocity.X = Math.Abs(velocity.Y) * Math.Sign(velocity.X);
|
||||||
velocity.Y = -velocity.Y * 0.1f;
|
velocity.Y = -velocity.Y * 0.1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (position.X < prevHullRect.X)
|
if (edgePos.X < prevHullRect.X)
|
||||||
{
|
{
|
||||||
position.X = prevHullRect.X + prefab.CollisionRadius;
|
position.X = prevHullRect.X + prefab.CollisionRadius;
|
||||||
velocity.X = -velocity.X;
|
velocity.X = -velocity.X;
|
||||||
}
|
}
|
||||||
else if (position.X > prevHullRect.X + prevHullRect.Width)
|
else if (edgePos.X > prevHullRect.X + prevHullRect.Width)
|
||||||
{
|
{
|
||||||
position.X = prevHullRect.X + prevHullRect.Width - prefab.CollisionRadius;
|
position.X = prevHullRect.X + prevHullRect.Width - prefab.CollisionRadius;
|
||||||
velocity.X = -velocity.X;
|
velocity.X = -velocity.X;
|
||||||
|
|||||||
Reference in New Issue
Block a user