private static void InitializeGameObject(GameObject go, TSVector position, TSQuaternion rotation) { ICollider[] tsColliders = go.GetComponentsInChildren <ICollider>(); if (tsColliders != null) { for (int index = 0, length = tsColliders.Length; index < length; index++) { PhysicsManager.instance.AddBody(tsColliders[index]); } } TSTransform rootTSTransform = go.GetComponent <TSTransform>(); if (rootTSTransform != null) { rootTSTransform.Initialize(); rootTSTransform.position = position; rootTSTransform.rotation = rotation; } TSTransform[] tsTransforms = go.GetComponentsInChildren <TSTransform>(); if (tsTransforms != null) { for (int index = 0, length = tsTransforms.Length; index < length; index++) { TSTransform tsTransform = tsTransforms[index]; if (tsTransform != rootTSTransform) { tsTransform.Initialize(); } } } TSTransform2D rootTSTransform2D = go.GetComponent <TSTransform2D>(); if (rootTSTransform2D != null) { rootTSTransform2D.Initialize(); rootTSTransform2D.position = new TSVector2(position.x, position.y); rootTSTransform2D.rotation = rotation.ToQuaternion().eulerAngles.z; } TSTransform2D[] tsTransforms2D = go.GetComponentsInChildren <TSTransform2D>(); if (tsTransforms2D != null) { for (int index = 0, length = tsTransforms2D.Length; index < length; index++) { TSTransform2D tsTransform2D = tsTransforms2D[index]; if (tsTransform2D != rootTSTransform2D) { tsTransform2D.Initialize(); } } } }
private void InitializeObject(TrueSyncObject i_TrueSyncObject) { if (i_TrueSyncObject == null) { return; } // Register colliders on physics manager. for (int index = 0; index < i_TrueSyncObject.colliderCount; ++index) { TSCollider2D collider = i_TrueSyncObject.GetColliderByIndex(index); if (collider == null) { continue; } PhysicsManager.AddBody(collider); } // Init transforms. for (int index = 0; index < i_TrueSyncObject.transformCount; ++index) { TSTransform2D t = i_TrueSyncObject.GetTransformByIndex(index); if (t == null) { continue; } t.Initialize(); } // Init rigidbody, if any. for (int index = 0; index < i_TrueSyncObject.rigidbodyCount; ++index) { TSRigidBody2D rigidbody = i_TrueSyncObject.GetRigidBodyByIndex(index); if (rigidbody == null) { continue; } rigidbody.Initialize(); } }