TrueSync
|
Physics2DWorldManager.cs
103 if (tsCollider.gameObject.transform.parent != null && tsCollider.gameObject.transform.parent.GetComponentInParent<TSCollider2D>() != null) {
104 TSCollider2D parentCollider = tsCollider.gameObject.transform.parent.GetComponentInParent<TSCollider2D>();
107 childBody.bodyConstraints.Add(new ConstraintHierarchy2D(((Physics2D.Body)parentCollider.Body), tsCollider._body, (tsCollider.GetComponent<TSTransform2D>().position + tsCollider.ScaledCenter) - (parentCollider.GetComponent<TSTransform2D>().position + parentCollider.ScaledCenter)));
143 CollisionDetected(contact.FixtureA.Body, contact.FixtureB.Body, contact, "OnSyncedCollisionEnter");
153 CollisionDetected(contact.FixtureA.Body, contact.FixtureB.Body, contact, "OnSyncedCollisionStay");
166 CollisionDetected(contact.FixtureA.Body, contact.FixtureB.Body, contact, "OnSyncedTriggerEnter");
170 CollisionDetected(contact.FixtureA.Body, contact.FixtureB.Body, contact, "OnSyncedTriggerStay");
177 private void CollisionDetected(Physics2D.Body body1, Physics2D.Body body2, TrueSync.Physics2D.Contact contact, string callbackName) {
189 b1.SendMessage(callbackName, GetCollisionInfo(body1, body2, contact), SendMessageOptions.DontRequireReceiver);
190 b2.SendMessage(callbackName, GetCollisionInfo(body2, body1, contact), SendMessageOptions.DontRequireReceiver);
195 private TSCollision2D GetCollisionInfo(Physics2D.Body body1, Physics2D.Body body2, TrueSync.Physics2D.Contact c) {
236 Func<TrueSync.Physics2D.Fixture, TSVector2, TSVector2, FP, FP> callback = delegate (TrueSync.Physics2D.Fixture fixture, TSVector2 point, TSVector2 normal, FP fraction) {
249 Func<TrueSync.Physics2D.Fixture, TSVector2, TSVector2, FP, FP> callback = delegate (TrueSync.Physics2D.Fixture fixture, TSVector2 point, TSVector2 normal, FP fraction) {
265 return LayerCollisionMatrix.CollisionEnabled(gameObjectMap[rigidBody1], gameObjectMap[rigidBody2]);
Manages the collision matrix of physics simulation.
Definition: LayerCollisionMatrix.cs:8
Manages creation of player prefabs and lockstep execution.
Definition: TrueSyncManager.cs:11
Represents information about a contact between two 2D bodies.
Definition: TSCollision2D.cs:25
static Physics2DWorldManager instance
Public access to a manager instance.
Definition: Physics2DWorldManager.cs:16
void Initialize(Physics2D.World world)
Initializes Shape and RigidBody and sets initial values to position and orientation based on Unity's ...
Definition: TSCollider2D.cs:206
Provides a few utilities to be used on TrueSync exposed classes.
Definition: UnityUtils.cs:10
A deterministic version of Unity's Transform component for 2D physics.
Definition: TSTransform2D.cs:9
static bool CollisionEnabled(int layerA, int layerB)
Returns true if the given layers can collide.
Definition: LayerCollisionMatrix.cs:16
Manages the 2D physics simulation.
Definition: Physics2DWorldManager.cs:11
bool SpeculativeContacts
Property access to speculative contacts.
Definition: Physics2DWorldManager.cs:35
Definition: LayerCollisionMatrix.cs:3
TSVector2 ScaledCenter
Returns a version of collider's center scaled by parent's transform.
Definition: TSCollider2D.cs:95
void UpdateStep()
Goes one step further on the physics simulation.
Definition: Physics2DWorldManager.cs:69
Generated by
