bool OnCollidedWithDetachSensor(Fixture f, UserControlledCharacter c, Fixture cf, Contact info) { if(InputManager.Instance.ActionHeld(InputManager.ButtonActions.DownAction)) { c.CanClimb = null; c.DismountLadder(linearDamping); } return info.Enabled; }
void OnSeparation(Fixture f1, UserControlledCharacter c, Fixture f2) { if (f2.UserData != null) { /* if (f2.UserData.Equals("Circle")) { c.CanClimb = null; c.Physics.IgnoreGravity = false; c.Physics.LinearDamping = linearDamping; if (wheelExit1) wheelExit = true; else wheelExit1 = true; } else if (f2.UserData.Equals("Rectangle")) { rectExit = true; } if (rectExit && wheelExit && wheelExit1) { c.CanClimb = null; if (c.Climbing) { c.DismountLadder(); } c.Physics.IgnoreGravity = false; c.Physics.LinearDamping = linearDamping; c.Climbing = false; } */ if(f2.UserData.Equals("Ladder")) { if (f1.UserData != null && f1.UserData.Equals("detach")) { } else { c.CanClimb = null; if (c.Climbing) { c.DismountLadder(linearDamping); } } } } /* else if (feetTouching == false) { c.CanClimb = null; c.Physics.LinearDamping = linearDamping; c.Physics.IgnoreGravity = false; } */ }
public void DismountCharacter(UserControlledCharacter c) { c.DismountLadder(linearDamping); }