Renamed the CollisionMisc collision category to CollisionItem, teleporting items inside/outside the sub if their physicsbody leaves/enters a hull, powercontainer charge can be changed in editor (i.e. batteries can be set to fully loaded)

This commit is contained in:
Regalis
2016-05-19 19:47:26 +03:00
parent 6651933c45
commit a477dad1b2
12 changed files with 25 additions and 14 deletions
@@ -200,7 +200,7 @@ namespace Barotrauma.Items.Components
{
item.body.FarseerBody.OnCollision -= OnCollision;
item.body.CollisionCategories = Physics.CollisionMisc;
item.body.CollisionCategories = Physics.CollisionItem;
item.body.CollidesWith = Physics.CollisionWall;
//foreach (Limb l in picker.AnimController.Limbs)
@@ -36,7 +36,7 @@ namespace Barotrauma.Items.Components
get { return maxOutput; }
}
[HasDefaultValue(0.0f, true)]
[Editable, HasDefaultValue(0.0f, true)]
public float Charge
{
get { return charge; }
@@ -155,8 +155,8 @@ namespace Barotrauma.Items.Components
item.Move(-submarine.Position);
item.Submarine = submarine;
item.body.Submarine = submarine;
item.FindHull();
return false;
//item.FindHull();
return true;
}
Limb limb;
@@ -177,7 +177,7 @@ namespace Barotrauma.Items.Components
item.body.FarseerBody.OnCollision -= OnProjectileCollision;
item.body.FarseerBody.IsBullet = false;
item.body.CollisionCategories = Physics.CollisionMisc;
item.body.CollisionCategories = Physics.CollisionItem;
item.body.CollidesWith = Physics.CollisionWall | Physics.CollisionLevel;
IgnoredBodies.Clear();
+1 -1
View File
@@ -98,7 +98,7 @@ namespace Barotrauma.Items.Components
ropeList[i].Mass = 0.01f;
ropeList[i].Enabled = false;
//only collide with the map
ropeList[i].CollisionCategories = Physics.CollisionMisc;
ropeList[i].CollisionCategories = Physics.CollisionItem;
ropeList[i].CollidesWith = Physics.CollisionWall;
ropeBodies[i] = new PhysicsBody(ropeList[i]);
@@ -121,7 +121,7 @@ namespace Barotrauma.Items.Components
{
base.Update(deltaTime, cam);
light.Submarine = (item.CurrentHull == null) ? null : item.CurrentHull.Submarine;
light.Submarine = item.Submarine;
if (item.Container != null)
{