internal void Update(GameObject otherGO, Physics2D.Contact c) { if (this.gameObject == null) { this.gameObject = otherGO; this.collider = this.gameObject.GetComponent <FPCollider2D>(); this.rigidbody = this.gameObject.GetComponent <FPRigidBody2D>(); this.transform = this.collider.FPTransform; } if (c != null) { if (contacts[0] == null) { contacts[0] = new TSContactPoint2D(); } FPVector2 normal; Physics2D.FixedArray2 <FPVector2> points; c.GetWorldManifold(out normal, out points); contacts[0].normal = normal; contacts[0].point = points[0]; this.relativeVelocity = c.CalculateRelativeVelocity(); } }
public void Start() { if (!Application.isPlaying) { return; } Initialize(); rb = GetComponent <FPRigidBody2D> (); }
/** * @brief Creates a new {@link FPRigidBody} when there is no one attached to this GameObject. **/ public void Awake() { FPTransform = this.GetComponent <FPTransform2D>(); FPRigidBody = this.GetComponent <FPRigidBody2D>(); if (lossyScale == FPVector.one) { lossyScale = FPVector.Abs(transform.localScale.ToFPVector()); } }