internal void Update(GameObject otherGO, Physics2D.Contact c) { if (this.gameObject == null) { this.gameObject = otherGO; this.collider = this.gameObject.GetComponent <TSCollider2D>(); this.rigidbody = this.gameObject.GetComponent <TSRigidBody2D>(); this.transform = this.collider.tsTransform; } if (c != null) { if (contacts[0] == null) { contacts[0] = new TSContactPoint2D(); } TSVector2 normal; Physics2D.FixedArray2 <TSVector2> points; c.GetWorldManifold(out normal, out points); contacts[0].normal = normal; contacts[0].point = points[0]; this.relativeVelocity = c.CalculateRelativeVelocity(); } }
/** * @brief Creates a new {@link TSRigidBody} when there is no one attached to this GameObject. **/ public void Awake() { tsTransform = this.GetComponent <TSTransform2D>(); tsRigidBody = this.GetComponent <TSRigidBody2D>(); if (lossyScale == TSVector.one) { lossyScale = TSVector.Abs(transform.localScale.ToTSVector()); } }
public void Start() { if (!Application.isPlaying) { return; } Initialize(); rb = GetComponent <TSRigidBody2D> (); }